Submission #999307

#TimeUsernameProblemLanguageResultExecution timeMemory
999307MilosMilutinovicTreasure (different grader from official contest) (CEOI13_treasure2)C++14
36 / 100
1 ms348 KiB
#include "treasure.h" #include <bits/stdc++.h> using namespace std; const int MAX = 111; int val[MAX][MAX]; void findTreasure(int N) { int mid = N / 2; for (int i = N; i >= 1; i--) { for (int j = N; j >= 1; j--) { if (i == 1 && j == 1) { continue; } if (i >= mid && j >= mid) { val[i][j] = countTreasure(1, 1, i, j); } else if (i >= mid && j < mid) { val[i][j] = val[i][N] - countTreasure(1, j + 1, i, N); } else if (i < mid && j >= mid) { val[i][j] = val[N][j] - countTreasure(i + 1, 1, N, j); } else { val[i][j] = -(val[N][N] - val[i][N] - val[N][j] - countTreasure(i + 1, j + 1, N, N)); } } } int total = val[N][N]; for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { if (i == 1 && j == 1) { continue; } int c = val[i][j] - val[i - 1][j] - val[i][j - 1] + val[i - 1][j - 1]; if (c == 1) { Report(i, j); total -= 1; } } } if (total > 0) { Report(1, 1); } }
#Verdict Execution timeMemoryGrader output
Fetching results...