Submission #107101

#TimeUsernameProblemLanguageResultExecution timeMemory
107101luciocfTreasure (different grader from official contest) (CEOI13_treasure2)C++14
100 / 100
3 ms512 KiB
#include <bits/stdc++.h> #include "treasure.h" const int maxn = 110; int pref[maxn][maxn]; void findTreasure(int N) { for (int i = N; i >= 1; i--) { for (int j = N; j >= 1; j--) { if (i > N/2 && j > N/2) pref[i][j] = countTreasure(1, 1, i, j); else if (i > N/2 && j <= N/2) pref[i][j] = pref[i][N] - countTreasure(1, j+1, i, N); else if (i <= N/2 && j <= N/2) pref[i][j] = pref[i][N] + pref[N][j] + countTreasure(i+1, j+1, N, N) - pref[N][N]; else pref[i][j] = pref[N][j] - countTreasure(i+1, 1, N, j); } } for (int i = 1; i <= N; i++) for (int j = 1; j <= N; j++) if (pref[i][j]-pref[i-1][j]-pref[i][j-1]+pref[i-1][j-1] == 1) Report(i, j); }
#Verdict Execution timeMemoryGrader output
Fetching results...