제출 #94716

#제출 시각아이디문제언어결과실행 시간메모리
94716newyear보물 찾기 (CEOI13_treasure2)C++14
34 / 100
2 ms504 KiB
#include "treasure.h"

int map[101][101], sum[101][101];

int mycount(int r, int c) {
	if (sum[r][c]) return sum[r][c];
	sum[r][c] = countTreasure(1, 1, r, c);
	return sum[r][c];
}

void findTreasure(int N) {
	map[1][1] = mycount(1, 1);
	for (int i = 1; i <= N; i++) {
		for (int j = 1; j <= N; j++) {
			if (i == 1 && j == 1) continue;
			if (i == 1) {
				map[i][j] = mycount(i, j) - mycount(i, j - 1);
				continue;
			}
			if (j == 1) {
				map[i][j] = mycount(i, j) - mycount(i - 1, j);
				continue;
			}
			map[i][j] = mycount(i, j) - mycount(i - 1, j) - mycount(i, j - 1) + mycount(i - 1, j - 1);
		}
	}
	for (int i = 1; i <= N; i++)
		for (int j = 1; j <= N; j++)
			if (map[i][j]) Report(i, j);
}
#Verdict Execution timeMemoryGrader output
Fetching results...