# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
383932 | 2021-03-31T03:38:51 Z | wp1270 | Treasure (different grader from official contest) (CEOI13_treasure2) | C | 0 ms | 0 KB |
#include "treasure.h" int t[102][102]; void findTreasure(int N) { int center = N / 2; for (int i = center; i <= N; i++) { for (int j = center; j <= N; j++) { t[i][j] = countTreasure(1, 1, i, j); } } for (int i = center; i <= N; i++) { for (int j = 1; j < center; j++) { t[i][j] = t[i][N] - countTreasure(1, j + 1, i, N); } } for (int i = 1; i < center; i++) { for (int j = center; j <= N; j++) { t[i][j] = t[N][j] - countTreasure(i + 1, 1, N, j); } } for (int i = 1; i < center; i++) { for (int j = 1; j < center; j++) { t[i][j] = t[N][j] + t[i][N] + countTreasure(i + 1, j + 1, N, N) - t[N][N]; } } for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { if (t[i][j] - t[i - 1][j] - t[i][j - 1] + t[i - 1][j - 1]) { Report(i, j); } } } }