#include <bits/stdc++.h>
using namespace std;
int main(){
#define int long long
int n,x,y; cin >> n >> x >> y;
int r = -1,l,mid;
auto f = [&n](int x,int y) -> bool {
if (x<1||x>n||y<1||y>n) return false;
cout << "examine" << ' ' << x << ' ' << y << endl;
string s; cin >> s;
return (s=="true");
};
while(true){
if (!f(x+r,y)){
l = r/2,r = min(max(r,-x),n+1-x);
while(abs(r-l)>1){
mid = (l+r)/2;
if (f(x+mid,y)) l = mid;
else r = mid;
}
break;
}
r *= 2;
}
int a = l;
r = 1;
auto input = [](){ string s; cin >> s; return (s=="true"); };
while(true){
if (!f(x+r,y)){
l = r/2,r = min(max(r,-x),n+1-x);
while(abs(r-l)>1){
mid = (l+r)/2;
if (f(x+mid,y)) l = mid;
else r = mid;
}
break;
}
r *= 2;
}
int b = l; x += (a+b)/2; int m = b-a+1;
r = 1;
while(true){
if (!f(x,y+r)){
l = r/2,r = min(max(r,-x),n+1-x);
while(abs(r-l)>1){
mid = (l+r)/2;
if (f(x,y+mid)) l = mid;
else r = mid;
}
break;
}
r *= 2;
}
y += (l-(m-l-1))/2; //cout << a << ' ' << b << ' ' << m << ' ' << x << ' ' << y << endl;
if (f(x+4*m,y)) x += 2*m;
else if (f(x-4*m,y)) x -= 2*m;
else if (!f(x+2*m,y)) x -= m;
else if (!f(x-2*m,y)) x += m;
if (f(x,y+4*m)) y += 2*m;
else if (f(x,y-4*m)) y -= 2*m;
else if (f(x,y+3*m)) y += m;
else if (f(x,y-3*m)) y -= m;
cout << "solution" << ' ' << x << ' ' << y << 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... |