#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll N;
bool query(ll x, ll y){
if (!(1 <= x && x <= N && 1 <= y && y <= N)) return 0;
cout << "examine " << x << ' ' << y << endl;
string res; cin >> res;
return res == "true";
}
int main(){
ll xi, yi; cin >> N >> xi >> yi;
ll l = xi, r = xi, u = yi, d = yi;
for (int i = 0; i < 3; i++){
ll o = l;
for (ll k = 30; k >= 0; k--)
if (query(l - (1 << k), yi))
l -= (1 << k);
if (o == l) break;
}
for (int i = 0; i < 3; i++){
ll o = r;
for (ll k = 30; k >= 0; k--)
if (query(r + (1 << k), yi))
r += (1 << k);
if (o == r) break;
}
for (int i = 0; i < 3; i++){
ll o = u;
for (ll k = 30; k >= 0; k--)
if (query(xi, u - (1 << k)))
u -= (1 << k);
if (o == u) break;
}
for (int i = 0; i < 3; i++){
ll o = d;
for (ll k = 30; k >= 0; k--)
if (query(xi, d + (1 << k)))
d += (1 << k);
if (o == d) break;
}
cout << "solution " << ((l + r) >> 1) << ' ' << ((u + d) >> 1) << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |