Submission #129895

#TimeUsernameProblemLanguageResultExecution timeMemory
129895ygh0410Treasure (different grader from official contest) (CEOI13_treasure2)C++11
69 / 100
2 ms504 KiB
#include "treasure.h" int Treasure[105][105]; int cnt[105][105]; void findTreasure(int N) { int m = N / 2; for (int i = 1; i <= m+1; i++) { for (int j = 1; j <= m+1; j++) { Treasure[i][j] = countTreasure(i, j, N, N); } } for (int i = 1; i <= m; i++) { for (int j = 1; j <= m; j++) { cnt[i][j] = Treasure[i][j] - Treasure[i + 1][j] - Treasure[i][j + 1] + Treasure[i + 1][j + 1]; } } for (int i = 1; i <= m + 1; i++) { for (int j = m; j <= N; j++) { Treasure[i][j] = countTreasure(i, 1, N, j); } } for (int i = 1; i <= m; i++) { for (int j = m+1; j <= N; j++) { cnt[i][j] = Treasure[i][j] - Treasure[i+1][j] - Treasure[i][j-1] + Treasure[i + 1][j - 1]; } } for (int i = m; i <= N; i++) { for (int j = 1; j <= m + 1; j++) { Treasure[i][j] = countTreasure(1, j, i, N); } } for (int i = m+1; i <= N; i++) { for (int j = 1; j <= m; j++) { cnt[i][j] = Treasure[i][j] - Treasure[i - 1][j] - Treasure[i][j + 1] + Treasure[i - 1][j + 1]; } } for (int i = m; i <= N; i++) { for (int j = m; j <=N; j++) { Treasure[i][j] = countTreasure(1, 1, i, j); } } for (int i = m+1; i <= N; i++) { for (int j = m+1; j <= N; j++) { cnt[i][j] = Treasure[i][j] - Treasure[i - 1][j] - Treasure[i][j - 1] + Treasure[i - 1][j - 1]; } } for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { if (cnt[i][j]) Report(i, j); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...