# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
471079 | chointae | Treasure (different grader from official contest) (CEOI13_treasure2) | C11 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "treasure.h"
void findTreasure (int N) {
int MAXN = 101;
int reportlist[MAXN * MAXN][2];
int index = 0;
int total = countTreasure(1, 1, N, N);
// printf("total: %d\n", total);
// 세로
for (int c = N; c > 0; c--) {
if (c == 1) {
for (int i = 1; i <= N; i++) {
// printf("%d %d\n", i, c);
int t = countTreasure(i, c, i, c);
// printf("%d\n", t);
if (t > 0) {
reportlist[index][0] = i; reportlist[index][1] = c;
index++; total--;
if (total == 0) break;
}
}
} else {
int cnt = countTreasure(1, 1, N, c - 1);
// printf("cnt: %d\n", cnt);
int find = total - cnt;
total = total - find;
for (int i = 1; i <= N; i++) {
// printf("%d %d\n", i, c);
int t = countTreasure(i, c, i, c);
// printf("%d\n", t);
if (t > 0) {
reportlist[index][0] = i; reportlist[index][1] = c;
index++; find--;
if (find == 0) break;
}
}
}
if (total == 0) break;
}
for (int i = 0; i < index; i++) Report(reportlist[i][0], reportlist[i][1]);
}