Submission #234164

#TimeUsernameProblemLanguageResultExecution timeMemory
234164qaws12Treasure (different grader from official contest) (CEOI13_treasure2)C++98
100 / 100
5 ms384 KiB
#include "treasure.h"
#include <iostream>
#define MAP 101

int map[MAP][MAP];

void findTreasure(int N) {
	for (int i = N; i > 0; i--) {
		for (int j = N; j > 0; j--) {
			if (i > N / 2 && j > N / 2) {
				map[i][j] = countTreasure(1, 1, i, j);
			}
			else if (i > N / 2 && j <= N / 2) {
				map[i][j] = map[i][N] - countTreasure(1, j + 1, i, N);
			}
			else if (i <= N / 2 && j > N / 2) {
				map[i][j] = map[N][j] - countTreasure(i + 1, 1, N, j);
			}
			else if (i <= N / 2 && j <= N / 2) {
				map[i][j] = map[N][j] + map[i][N] + countTreasure(i + 1, j + 1, N, N) - map[N][N];
			}
		}
	}

	
    for (int i = N; i > 0; i--) {
        for (int j = N; j > 0; j--) {
            int answer = map[i][j] - map[i - 1][j] - map[i][j - 1] + map[i - 1][j - 1];
            if (answer == 1) {
                Report(i, j);
            }
        }
    }

}
#Verdict Execution timeMemoryGrader output
Fetching results...