Submission #37267

#TimeUsernameProblemLanguageResultExecution timeMemory
37267aome보물 찾기 (CEOI13_treasure2)C++14
29 / 100
0 ms2224 KiB
#include "treasure.h" #include <bits/stdc++.h> using namespace std; typedef pair<int, int> ii; vector<ii> res; void cal(int lx, int rx, int ly, int ry, int val) { if (val == 0) return; if (lx == rx && ly == ry) { res.push_back(ii(lx, ly)); return; } int midx = (lx + rx) >> 1; int midy = (ly + ry) >> 1; int V0, V1, V2, V3; if (val == -1) { V0 = countTreasure(lx, ly, rx, ry); } else V0 = val; V3 = countTreasure(lx, ly, midx, midy); if (lx == rx) { V1 = V0, V2 = V3; } else if (ly == ry) { V1 = V3, V2 = V0; } else { V1 = countTreasure(lx, ly, midx, ry); V2 = countTreasure(lx, ly, rx, midy); } cal(lx, midx, ly, midy, V3); cal(lx, midx, midy + 1, ry, V1 - V3); cal(midx + 1, rx, ly, midy, V2 - V3); cal(midx + 1, rx, midy + 1, ry, V0 - V3 - (V1 - V3) - (V2 - V3)); } void findTreasure (int N) { cal(1, N, 1, N, -1); for (auto i : res) Report(i.first, i.second); }

Compilation message (stderr)

grader.c: In function 'int main()':
grader.c:63:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         my_assert(strlen(A[i]+1) == N, "each line of the map must contain N zeroes or ones (before loop)");
                                  ^
#Verdict Execution timeMemoryGrader output
Fetching results...