-
Notifications
You must be signed in to change notification settings - Fork 0
/
warriors.judge.java
50 lines (42 loc) · 1.43 KB
/
warriors.judge.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import com.google.gson.JsonElement;
import com.google.gson.JsonArray;
import com.google.gson.reflect.TypeToken;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Collections;
/*
dk openjdk:14-slim javac -cp gson.jar:algs4.jar:. warriors.judge.java warriors.sol.java Judger.java
dk openjdk:14-slim java -cp gson.jar:algs4.jar:. Judge
*/
class Judge extends Judger<int[]> {
public Judge(boolean debug, boolean clean_after_read) {
super(debug);
this.file_path = "warriors.json";
this.clean_after_read = clean_after_read;
}
static class Data {
int[] strength;
int[] attack_range;
int[] answer;
public Data() {};
}
@Override protected boolean compare(int[] out, JsonElement ele) {
Data d = this.gson.fromJson(ele, Data.class);
return Arrays.equals(d.answer, out);
}
@Override protected int[] run(JsonElement ele) {
Data d = this.gson.fromJson(ele, Data.class);
this.resetTime();
return new Warriors().warriors(d.strength, d.attack_range);
}
@Override protected void debugPrint(int[] out, JsonElement ele) {
// System.out.println("<" + Arrays.toString(out));
// System.out.println(">" + gson.toJson(ele));
};
public static void main(String []args) {
// Judge j = new Judge(false, true);
Judge j = new Judge(true, false);
j.judge(args);
}
}