Submission #1248933

#TimeUsernameProblemLanguageResultExecution timeMemory
1248933kaiboyTreasure (different grader from official contest) (CEOI13_treasure2)C++20
100 / 100
0 ms328 KiB
// read rainboy's code #include "treasure.h" #include <algorithm> #include <iostream> using namespace std; const int N = 100; int aa[N][N]; void findTreasure(int n) { int m = n / 2; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) { int il, ir; if (i < m) il = i + 1, ir = n - 1; else il = 0, ir = i; int jl, jr; if (j < m) jl = j + 1, jr = n - 1; else jl = 0, jr = j; aa[i][j] = countTreasure(il + 1, jl + 1, ir + 1, jr + 1); } for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (i < m && j < m) aa[i][j] = aa[n - 1][n - 1] - aa[i][n - 1] - aa[n - 1][j] + aa[i][j]; else if (i < m) aa[i][j] = aa[n - 1][j] - aa[i][j]; else if (j < m) aa[i][j] = aa[i][n - 1] - aa[i][j]; for (int i = n - 1; i; i--) for (int j = 0; j < n; j++) aa[i][j] -= aa[i - 1][j]; for (int i = 0; i < n; i++) for (int j = n - 1; j; j--) aa[i][j] -= aa[i][j - 1]; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (aa[i][j]) Report(i + 1, j + 1); }
#Verdict Execution timeMemoryGrader output
Fetching results...