Submission #129877

#TimeUsernameProblemLanguageResultExecution timeMemory
129877ygh0410Treasure (different grader from official contest) (CEOI13_treasure2)C++11
17 / 100
2 ms380 KiB
#include "treasure.h" #include <cstdio> void findTreasure(int N) { int ccnt = countTreasure(1, 1, N, N); int rcnt; int cnt; int visited[105][105]; for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { visited[i][j] = false; } } for (int i = N - 1; i >= 1; i--) { cnt = countTreasure(1, 1, N, i); // printf("%d %d\n", ccnt,cnt); if (cnt < ccnt) { rcnt = ccnt - cnt; for (int j = N - 1; j >= 1; j--) { if (rcnt == 0) break; if (countTreasure(1, i + 1, j, i + 1) < rcnt) { visited[j + 1][i + 1] = true; rcnt--; } } if (rcnt > 0) visited[1][i + 1] = true; } ccnt = cnt; } if (ccnt > 0) { for (int j = N - 1; j >= 1; j--) { if (ccnt == 0) break; if (countTreasure(1, 1, j, 1) < ccnt) { visited[j + 1][1] = true; ccnt--; } } if (ccnt > 0) visited[1][1] = true; } for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { if (visited[i][j]) Report(i, j); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...