Submission #69312

#TimeUsernameProblemLanguageResultExecution timeMemory
69312chhunTreasure (different grader from official contest) (CEOI13_treasure2)C++14
32 / 100
3 ms612 KiB
//#include <stdio.h> #include "treasure.h" int n, cnt; int mat[105][105]; bool sf(int x, int y) { return (x >= 1 && y >= 1 && x <= n && y <= n); } void find_(int l, int r, int x) { //printf("%d %d %d\n", x, l, r); if (cnt == 0)return; if (r < 1 || l>n)return; if (r - l + 1 <= 0)return; int count_ = countTreasure(x, l, x, r); if (r - l + 1 == n)cnt = count_; if (count_ == 0)return; if (r - l + 1 == count_) { for (int i = l; i <= r; i++) { mat[x][i] = 1; cnt--; } return; } if (r - l + 1 == 1) { return; } find_(l, (l + r) / 2, x); if (cnt == 0)return; find_((l + r) / 2 + 1, r, x); return; } void findTreasure(int N) { n = N; for (int i = 1; i <= n; i++) for (int j = 1; j < n; j++) mat[i][j] = 0; for (int i = 1; i <= N; i++) { cnt = n; find_(1, n, i); } for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (mat[i][j] == 1)Report(i, j); //printf("%d", mat[i][j]); }//printf("\n"); } }
#Verdict Execution timeMemoryGrader output
Fetching results...