이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
import java.util.Arrays;
import java.util.Comparator;
import java.util.TreeSet;
public class vision {
public void construct_network(int H, int W, int K) {
int commands = 0;
TreeSet<int[]> uniqueCommands = new TreeSet<int[]>(new ArrayComparator());
if ((H <= 10 && W <= 10) || (Math.min(H, W) == 1)) {
for (int i = 0; i < H; i++) {
for (int j = 0; j < W; j++) {
for (int k = i; k < H; k++) {
int remaining = K - k + i;
if (remaining >= 0) {
if (j + remaining < W) {
int[] command = {i * W + j, k * W + j + remaining};
uniqueCommands.add(command);
}
if (j - remaining >= 0) {
int[] command = {i * W + j, k * W + j - remaining};
//System.out.println(Arrays.toString(command));
uniqueCommands.add(command);
}
}
}
}
}
} else {
int j = 0;
int i = 0;
for (int k = i; k < H; k++) {
int remaining = K - k + i;
if (remaining >= 0) {
if (j + remaining < W) {
int[] command = {i * W + j, k * W + j + remaining};
uniqueCommands.add(command);
}
if (j - remaining >= 0) {
int[] command = {i * W + j, k * W + j - remaining};
//System.out.println(Arrays.toString(command));
uniqueCommands.add(command);
}
}
}
}
for (int[] command : uniqueCommands) {
grader.add_and(command);
commands++;
}
int[] command = new int[commands];
for (int i = H * W, j = 0; j < commands; i++, j++) command[j] = i;
grader.add_or(command);
}
private static class ArrayComparator implements Comparator<int[]> {
@Override
public int compare(int[] o1, int[] o2) {
int min1 = Math.min(o1[0], o1[1]);
int min2 = Math.min(o2[0], o2[1]);
int compare = Integer.compare(min1, min2);
if (compare != 0) return compare;
int max1 = Math.max(o1[0], o1[1]);
int max2 = Math.max(o2[0], o2[1]);
return Integer.compare(max1, max2);
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |