Submission #169666
Source Code Expand
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.math.BigInteger; import java.util.*; import java.util.Map.Entry; public class Main { public static final int[][] move_dir = new int[][]{{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; public static boolean is_ok(int x, int y, final int sx, final int sy, int ex, int ey){ if(x < sx || y < sy || x > ex || y > ey){ return false; }else{ return true; } } public static long dfs(final int deep, final int N, final int sx, final int sy, final int ex, final int ey, LinkedList<Integer> nums, boolean[] using, int[] xs, int[] ys){ LinkedList<Integer> nexts = new LinkedList<Integer>(nums); for(Iterator<Integer> iter = nexts.iterator(); iter.hasNext(); ){ final int next = iter.next(); final int x = xs[next]; final int y = ys[next]; if(!is_ok(x, y, sx, sy, ex, ey)){ iter.remove(); } } long max = 0; for(int next : nexts){ final int x = xs[next]; final int y = ys[next]; using[next] = true; final long current = (ex - sx + 1) + (ey - sy + 1) - 1; //System.out.println(current + " " + sx + " " + sy + " " + ex + " " + ey + " " + x + " " + y); long ret = 0; if(sx <= x - 1 && sy <= y - 1){ ret += dfs(deep + 1, N, sx, sy, x - 1, y - 1, nexts, using, xs, ys); } if(x + 1 <= ex && sy <= y - 1){ ret += dfs(deep + 1, N, x + 1, sy, ex, y - 1, nexts, using, xs, ys); } if(sx <= x + 1 && y + 1 <= ey){ ret += dfs(deep + 1, N, sx, y + 1, x - 1, ey, nexts, using, xs, ys); } if(x + 1 <= ex && y + 1 <= ey){ ret += dfs(deep + 1, N, x + 1, y + 1, ex, ey, nexts, using, xs, ys); } max = Math.max(max, current + ret); using[next] = false; } //System.out.println(deep + " " + max); return max; } public static void main(String[] args) throws IOException{ Scanner sc = new Scanner(System.in); final int W = sc.nextInt(); final int H = sc.nextInt(); final int N = sc.nextInt(); int[] xs = new int[N]; int[] ys = new int[N]; LinkedList<Integer> nexts = new LinkedList<Integer>(); for(int i = 0; i < N; i++){ xs[i] = sc.nextInt() - 1; ys[i] = sc.nextInt() - 1; nexts.add(i); } System.out.println(dfs(0, N, 0, 0, W - 1, H - 1, nexts, new boolean[N], xs, ys)); } public static class Scanner { private BufferedReader br; private StringTokenizer tok; public Scanner(InputStream is) throws IOException{ br = new BufferedReader(new InputStreamReader(is)); getLine(); } private void getLine() throws IOException{ while(tok == null || !tok.hasMoreTokens()){ tok = new StringTokenizer(br.readLine()); } } private boolean hasNext(){ return tok.hasMoreTokens(); } public String next() throws IOException{ if(hasNext()){ return tok.nextToken(); }else{ getLine(); return tok.nextToken(); } } public int nextInt() throws IOException{ if(hasNext()){ return Integer.parseInt(tok.nextToken()); }else{ getLine(); return Integer.parseInt(tok.nextToken()); } } public long nextLong() throws IOException{ if(hasNext()){ return Long.parseLong(tok.nextToken()); }else{ getLine(); return Long.parseLong(tok.nextToken()); } } public double nextDouble() throws IOException{ if(hasNext()){ return Double.parseDouble(tok.nextToken()); }else{ getLine(); return Double.parseDouble(tok.nextToken()); } } } }
Submission Info
Submission Time | |
---|---|
Task | D - 金塊ゲーム |
User | mondatto |
Language | Java (OpenJDK 1.7.0) |
Score | 80 |
Code Size | 3704 Byte |
Status | TLE |
Exec Time | 4043 ms |
Memory | 32448 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 80 / 80 | 0 / 19 | 0 / 1 | ||||||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 | subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt |
Subtask2 | subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt |
Subtask3 | subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt, subtask3_04.txt, subtask3_05.txt, subtask3_06.txt, subtask3_07.txt, subtask3_08.txt, subtask3_09.txt, subtask3_10.txt, subtask3_11.txt, subtask3_12.txt, subtask3_13.txt, subtask3_14.txt, subtask3_15.txt, subtask3_16.txt, subtask3_17.txt, subtask3_18.txt, subtask3_19.txt, subtask3_20.txt, subtask3_21.txt, subtask3_22.txt, subtask3_23.txt, subtask3_24.txt, subtask3_25.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 454 ms | 20776 KB |
sample_02.txt | AC | 441 ms | 20780 KB |
sample_03.txt | AC | 437 ms | 20912 KB |
subtask1_01.txt | AC | 409 ms | 20652 KB |
subtask1_02.txt | AC | 409 ms | 20784 KB |
subtask1_03.txt | AC | 438 ms | 20908 KB |
subtask1_04.txt | AC | 449 ms | 21676 KB |
subtask1_05.txt | AC | 421 ms | 20788 KB |
subtask1_06.txt | AC | 427 ms | 20784 KB |
subtask1_07.txt | AC | 423 ms | 20788 KB |
subtask1_08.txt | AC | 428 ms | 20788 KB |
subtask1_09.txt | AC | 420 ms | 20776 KB |
subtask1_10.txt | AC | 412 ms | 20780 KB |
subtask1_11.txt | AC | 419 ms | 20776 KB |
subtask1_12.txt | AC | 421 ms | 20780 KB |
subtask1_13.txt | AC | 420 ms | 20776 KB |
subtask1_14.txt | AC | 426 ms | 20916 KB |
subtask1_15.txt | AC | 457 ms | 21680 KB |
subtask1_16.txt | AC | 445 ms | 21428 KB |
subtask1_17.txt | AC | 464 ms | 21556 KB |
subtask1_18.txt | AC | 436 ms | 20784 KB |
subtask1_19.txt | AC | 437 ms | 20900 KB |
subtask1_20.txt | AC | 425 ms | 20900 KB |
subtask1_21.txt | AC | 448 ms | 21348 KB |
subtask1_22.txt | AC | 448 ms | 21808 KB |
subtask1_23.txt | AC | 466 ms | 22928 KB |
subtask1_24.txt | AC | 439 ms | 20908 KB |
subtask1_25.txt | AC | 456 ms | 21684 KB |
subtask2_01.txt | AC | 535 ms | 30640 KB |
subtask2_02.txt | AC | 537 ms | 31392 KB |
subtask2_03.txt | AC | 644 ms | 31808 KB |
subtask2_04.txt | AC | 606 ms | 31548 KB |
subtask2_05.txt | AC | 1220 ms | 32036 KB |
subtask2_06.txt | AC | 1074 ms | 32152 KB |
subtask2_07.txt | AC | 1184 ms | 32052 KB |
subtask2_08.txt | AC | 1065 ms | 32064 KB |
subtask2_09.txt | AC | 3165 ms | 32184 KB |
subtask2_10.txt | TLE | 4043 ms | 32136 KB |
subtask2_11.txt | AC | 1747 ms | 31940 KB |
subtask2_12.txt | TLE | 4040 ms | 32364 KB |
subtask2_13.txt | AC | 1521 ms | 32068 KB |
subtask2_14.txt | AC | 1230 ms | 32068 KB |
subtask2_15.txt | AC | 502 ms | 25352 KB |
subtask2_16.txt | AC | 858 ms | 31884 KB |
subtask2_17.txt | TLE | 4042 ms | 32396 KB |
subtask2_18.txt | AC | 3180 ms | 32100 KB |
subtask2_19.txt | AC | 2567 ms | 32068 KB |
subtask2_20.txt | AC | 2255 ms | 31852 KB |
subtask2_21.txt | AC | 3655 ms | 31800 KB |
subtask2_22.txt | TLE | 4041 ms | 31840 KB |
subtask2_23.txt | TLE | 4040 ms | 32184 KB |
subtask2_24.txt | AC | 2141 ms | 32004 KB |
subtask2_25.txt | TLE | 4040 ms | 32448 KB |
subtask3_01.txt | AC | 424 ms | 20780 KB |
subtask3_02.txt | AC | 564 ms | 31688 KB |
subtask3_03.txt | AC | 519 ms | 30484 KB |
subtask3_04.txt | AC | 552 ms | 31700 KB |
subtask3_05.txt | AC | 686 ms | 31932 KB |
subtask3_06.txt | AC | 736 ms | 32068 KB |
subtask3_07.txt | AC | 609 ms | 31804 KB |
subtask3_08.txt | AC | 1165 ms | 31980 KB |
subtask3_09.txt | AC | 1750 ms | 31920 KB |
subtask3_10.txt | AC | 3984 ms | 31788 KB |
subtask3_11.txt | AC | 1719 ms | 31920 KB |
subtask3_12.txt | TLE | 4041 ms | 32244 KB |
subtask3_13.txt | TLE | 4041 ms | 32352 KB |
subtask3_14.txt | AC | 2372 ms | 32196 KB |
subtask3_15.txt | AC | 3275 ms | 32024 KB |
subtask3_16.txt | AC | 2082 ms | 32068 KB |
subtask3_17.txt | TLE | 4039 ms | 32232 KB |
subtask3_18.txt | AC | 683 ms | 31868 KB |
subtask3_19.txt | AC | 1918 ms | 31996 KB |
subtask3_20.txt | AC | 981 ms | 31956 KB |
subtask3_21.txt | TLE | 4040 ms | 32136 KB |
subtask3_22.txt | AC | 3785 ms | 31980 KB |
subtask3_23.txt | TLE | 4038 ms | 32288 KB |
subtask3_24.txt | TLE | 4040 ms | 32304 KB |
subtask3_25.txt | AC | 1651 ms | 32072 KB |