Submission #99033

#TimeUsernameProblemLanguageResultExecution timeMemory
99033wjdclgns12Treasure (different grader from official contest) (CEOI13_treasure2)C++14
0 / 100
1089 ms384 KiB
#include "treasure.h" int cnt = 0; int resultX[101]; int resultY[101]; int grid[101][101]; void findFunc(int r1, int c1, int r2, int c2, int trs) { int area = (r2 - r1 + 1) * (c2 - c1 + 1); if (trs == 0) return; if (trs == area) { for (int i = r1; i <= r2; i++) for (int j = c1; j <= c2; j++) { resultX[cnt] = i; resultY[cnt] = j; cnt++; } return; } if (r1 != r2) { int half = countTreasure(r1 + 1, c1 + 1, (r1 + r2) / 2 + 1, c2 + 1); findFunc(0, c1, (r1 + r2) / 2, c2, half); findFunc((r1 + r2) / 2 + 1, c1, r2, c2, trs - half); } } void findTreasure(int N) { for (int i = 0; i < 101; i++) for (int j = 0; j < 101; j++) grid[i][j] = 0; findFunc(0, 0, N - 1, N - 1, countTreasure(1, 1, N, N)); for (int i = 0; i < cnt; i++) { Report(resultX[i] + 1, resultY[i] + 1); } }
#Verdict Execution timeMemoryGrader output
Fetching results...