Submission #500620

#TimeUsernameProblemLanguageResultExecution timeMemory
500620600MihneaAliens (IOI07_aliens)C++17
0 / 100
3 ms200 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int dr[] = {-1, 0, 1, 0}; int dc[] = {0, 1, 0, -1}; vector<pair<int, int>> guys; signed main() { int n, r0, c0; cin >> n >> r0 >> c0; function<bool(int, int)> is = [&] (int r, int c) { if (1 <= r && r <= c && r <= n && c <= n) { cout << "examine " << r << " " << c << endl; string s; cin >> s; assert(s == "true" || s == "false"); return (s == "true"); } return false; }; for (int k = 0; k < 4; k++) { int r = r0, c = c0; while (1) { pair<int, int> init = {r, c}; for (int step = 1 << 30; step; step /= 2) { if (is(r + dr[k] * step, c + dc[k] * step)) { r += dr[k] * step; c += dc[k] * step; } } pair<int, int> fini = {r, c}; if (init == fini) { break; } } guys.push_back({r, c}); } cout << "solution "; cout << (guys[0].first + guys[2].first) / 2 << " "; cout << (guys[1].second + guys[3].second) / 2 << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...