Submission #1303947


Source Code Expand

import java.util.*;


public class Main {
	int N;
	private int[] x;
	private int[] y;
	private HashMap<String, Integer> hashMap;
        
	public void solve() {
		Scanner scanner = new Scanner(System.in);
		int W = scanner.nextInt();
		int H = scanner.nextInt();
		N = scanner.nextInt();
		x = new int[N];
		y = new int[N];
		for (int i = 0; i < N; i++) {
			x[i] = scanner.nextInt() - 1;
			y[i] = scanner.nextInt() - 1;
		}
		scanner.close();

		hashMap = new HashMap<String, Integer>();
		int max = dfs(0, 0, W - 1, H - 1);
		System.out.println(max);
	}

	private int dfs(int w1, int h1, int w2, int h2) {
		if (w1 > w2 || h1 > h2) {
			return 0;
		}
		String key = hash(w1, h1, w2, h2);
		if (hashMap.containsKey(key)) {
			return hashMap.get(key);
		}

		int max = 0;
		for (int i = 0; i < N; i++) {
			if (x[i] < w1 || w2 < x[i] || y[i] < h1 || h2 < y[i]) {
				continue;
			}
			int earn = (w2 - w1) + (h2 - h1) + 1;
			earn += dfs(w1, h1, x[i] - 1, y[i] - 1);// 左上
			earn += dfs(x[i] + 1, h1, w2, y[i] - 1);// 右上
			earn += dfs(w1, y[i] + 1, x[i] - 1, h2);// 左下
			earn += dfs(x[i] + 1, y[i] + 1, w2, h2);// 右下

			max = Math.max(max, earn);
		}
		hashMap.put(key, max);
		return max;
	}

	private String hash(int w1, int h1, int w2, int h2) {
		return w1 + "_" + h1 + "_" + w2 + "_" + h2;

        }

	public static void main(String[] args){
		new Main().solve();
	}

}
        
        

Submission Info

Submission Time
Task D - 金塊ゲーム
User suesue
Language Java8 (OpenJDK 1.8.0)
Score 100
Code Size 1477 Byte
Status AC
Exec Time 225 ms
Memory 51256 KB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 80 / 80 19 / 19 1 / 1
Status
AC × 3
AC × 25
AC × 50
AC × 75
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 95 ms 20560 KB
sample_02.txt AC 94 ms 21716 KB
sample_03.txt AC 107 ms 20688 KB
subtask1_01.txt AC 97 ms 23252 KB
subtask1_02.txt AC 96 ms 19156 KB
subtask1_03.txt AC 108 ms 18644 KB
subtask1_04.txt AC 106 ms 20820 KB
subtask1_05.txt AC 96 ms 21460 KB
subtask1_06.txt AC 96 ms 21076 KB
subtask1_07.txt AC 104 ms 19924 KB
subtask1_08.txt AC 93 ms 18644 KB
subtask1_09.txt AC 107 ms 20564 KB
subtask1_10.txt AC 93 ms 19924 KB
subtask1_11.txt AC 97 ms 21844 KB
subtask1_12.txt AC 96 ms 19668 KB
subtask1_13.txt AC 100 ms 19796 KB
subtask1_14.txt AC 107 ms 21844 KB
subtask1_15.txt AC 101 ms 20180 KB
subtask1_16.txt AC 103 ms 21460 KB
subtask1_17.txt AC 99 ms 21972 KB
subtask1_18.txt AC 110 ms 21844 KB
subtask1_19.txt AC 100 ms 21332 KB
subtask1_20.txt AC 109 ms 20692 KB
subtask1_21.txt AC 99 ms 21716 KB
subtask1_22.txt AC 109 ms 19796 KB
subtask1_23.txt AC 108 ms 21076 KB
subtask1_24.txt AC 109 ms 19924 KB
subtask1_25.txt AC 112 ms 17236 KB
subtask2_01.txt AC 120 ms 24148 KB
subtask2_02.txt AC 114 ms 21076 KB
subtask2_03.txt AC 130 ms 24532 KB
subtask2_04.txt AC 120 ms 24788 KB
subtask2_05.txt AC 134 ms 28372 KB
subtask2_06.txt AC 143 ms 31572 KB
subtask2_07.txt AC 141 ms 30932 KB
subtask2_08.txt AC 146 ms 29268 KB
subtask2_09.txt AC 181 ms 35792 KB
subtask2_10.txt AC 180 ms 36684 KB
subtask2_11.txt AC 174 ms 37712 KB
subtask2_12.txt AC 189 ms 39632 KB
subtask2_13.txt AC 153 ms 30164 KB
subtask2_14.txt AC 142 ms 31444 KB
subtask2_15.txt AC 116 ms 20820 KB
subtask2_16.txt AC 142 ms 31828 KB
subtask2_17.txt AC 179 ms 37840 KB
subtask2_18.txt AC 184 ms 37840 KB
subtask2_19.txt AC 179 ms 37840 KB
subtask2_20.txt AC 183 ms 37840 KB
subtask2_21.txt AC 180 ms 35664 KB
subtask2_22.txt AC 183 ms 34768 KB
subtask2_23.txt AC 178 ms 37840 KB
subtask2_24.txt AC 180 ms 37200 KB
subtask2_25.txt AC 177 ms 40272 KB
subtask3_01.txt AC 98 ms 21716 KB
subtask3_02.txt AC 129 ms 23508 KB
subtask3_03.txt AC 128 ms 24148 KB
subtask3_04.txt AC 128 ms 23380 KB
subtask3_05.txt AC 151 ms 30036 KB
subtask3_06.txt AC 141 ms 23948 KB
subtask3_07.txt AC 137 ms 26964 KB
subtask3_08.txt AC 159 ms 32468 KB
subtask3_09.txt AC 174 ms 39888 KB
subtask3_10.txt AC 220 ms 48464 KB
subtask3_11.txt AC 204 ms 48180 KB
subtask3_12.txt AC 217 ms 48592 KB
subtask3_13.txt AC 225 ms 48056 KB
subtask3_14.txt AC 206 ms 47952 KB
subtask3_15.txt AC 206 ms 47312 KB
subtask3_16.txt AC 197 ms 45392 KB
subtask3_17.txt AC 222 ms 46648 KB
subtask3_18.txt AC 154 ms 30140 KB
subtask3_19.txt AC 213 ms 48464 KB
subtask3_20.txt AC 154 ms 34004 KB
subtask3_21.txt AC 177 ms 36888 KB
subtask3_22.txt AC 222 ms 48824 KB
subtask3_23.txt AC 220 ms 48692 KB
subtask3_24.txt AC 223 ms 51256 KB
subtask3_25.txt AC 210 ms 48336 KB