#include <bits/stdc++.h>
#define fr first
#define sc second
#define pii pair<int, int>
#define pb push_back
#define szof(s) (int)s.size()
#define all(s) s.begin(), s.end()
#define int long long
template<class T>void chmax(T &a, T b){if (a < b)a = b;}
template<class T>void chmin(T &a, T b){if (b < a)a = b;}
using namespace std;
const int KEK = -1337;
int n, x, y;
int pw(int x) {
return (1ll << x);
}
bool in(int pos) {
return pos >= 1 && pos <= n;
}
bool ask(int x, int y) {
if (in(x) && in(y)) {
cout << "examine " << x << " " << y << endl;
string res;
return res == "true";
} else {
return false;
}
}
signed main() {
cin >> n >> x >> y;
for (int i = 2; ; i *= 2) {
if (!ask(x, y + i)) {
for (int j = i / 2; j > 0; j /= 2) {
if (ask(x, y + j)) {
y += j;
}
}
break;
}
}
for (int i = 2; ; i *= 2) {
if (!ask(x + i, y)) {
for (int j = i / 2; j > 0; j /= 2) {
if (ask(x + j, y)) {
x += j;
}
}
break;
}
}
int Y = y;
int X = x;
for (int i = 2; ; i *= 2) {
if (!ask(X, Y - i)) {
for (int j = i / 2; j > 0; j /= 2) {
if (ask(X, Y - j)) {
Y -= j;
}
}
break;
}
}
int len = y - Y + 1;
while (ask(x + len, y + len)) {
x += len;
y += len;
}
while (ask(x, y + len * 2)) {
y += len * 2;
}
while (ask(x + len * 2, y)) {
x += len * 2;
}
cout << "solution " << x - len * 2 - len / 2 << " " << y - len * 2 - len / 2 << endl;
} // wtf?
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
200 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
200 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
200 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
200 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
200 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
200 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
200 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
200 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
200 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
200 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |