# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
545134 | 2022-04-03T16:21:03 Z | rainboy | Treasure (different grader from official contest) (CEOI13_treasure2) | C++ | 0 ms | 0 KB |
#include "treasure.h" #define N 100 void findTreasure(int n) { static int aa[N][N]; int i, j; scanf("%d", &n); for (i = 0; i < n; i++) for (j = 0; j < n; j++) { int i1, i2, j1, j2; if (i + 1 >= n - 1 - i) i1 = 0, i2 = i; else i1 = i + 1, i2 = n - 1; if (j + 1 >= n - 1 - j) j1 = 0, j2 = j; else j1 = j + 1, j2 = n - 1; aa[i][j] = findTreasure(i1, j1, i2, j2); } for (i = 0; i < n; i++) for (j = 0; j < n; j++) if (i + 1 < n - 1 - i && j + 1 < n - 1 - j) aa[i][j] = aa[n - 1][n - 1] - aa[n - 1][j] - aa[i][n - 1] + aa[i][j]; else if (i + 1 < n - 1 - i) aa[i][j] = aa[n - 1][j] - aa[i][j]; else if (j + 1 < n - 1 - j) aa[i][j] = aa[i][n - 1] - aa[i][j]; for (i = 0; i < n; i++) for (j = n - 1; j > 0; j--) aa[i][j] -= aa[i][j - 1]; for (j = 0; j < n; j++) for (i = n - 1; i > 0; i--) aa[i][j] -= aa[i - 1][j]; for (i = 0; i < n; i++) for (j = 0; j < n; j++) if (aa[i][j]) Report(i, j); }