#include <bits/stdc++.h>
#define ll long long
#define pii pair<int,int>
using namespace std;
ll N=19;
ll xinit=6;
ll yinit=3;
bool check(ll x,ll y){
if (x<=0||x>N||y<=0||y>N) return false;
cout<<"examine "<<x<<" "<<y<<endl;
string str="false";
cin>>str;
if (str=="true") return true;
else return false;
}
ll sch(ll s,ll e,bool axis,bool dir){
if (dir){
while (s!=e){
int m=(s+e+1)>>1;
bool c;
if (axis==0) c=check(m,yinit);
else c=check(xinit,m);
if (c) s=m;
else e=m-1;
}
}else{
while (s!=e){
int m=(s+e)>>1;
bool c;
if (axis==0) c=check(m,yinit);
else c=check(xinit,m);
if (c) e=m;
else s=m+1;
}
}
return s;
}
vector<int> test={5,3};
int main(){
cin>>N>>xinit>>yinit;
ll r=sch(xinit,N,0,1);
ll l=sch(0,xinit,0,0);
ll xdif=(r-l+1);
int xa=1;
int M,R;
for (auto v:test){
if (xdif%v!=0) continue;
M=xdif/v;
R=M/2;
if (!check(l+M+R,yinit)){
xa=v;
break;
}
}
M=xdif/xa,R=M/2;
int xb=(5-xa)/2;
int xsides=0;
for (int i=-xb;i<=xb;i++){
if (i<0 && check(l+2*i*M, yinit)) xsides--;
if (i>0 && check(r+2*i*M, yinit)) xsides++;
}
int xmid=((l+r)>>1) + xsides*M;
ll u=sch(yinit,N,1,1);
ll d=sch(0,yinit,1,0);
ll ydif=(u-d+1);
int ya=1;
for (auto v:test){
if (ydif%v!=0) continue;
M=ydif/v;
R=M/2;
if (!check(xinit,d+M+R)){
ya=v;
break;
}
}
M=ydif/ya,R=M/2;
int yb=(5-ya)/2;
int ysides=0;
for (int i=-yb;i<=yb;i++){
if (i<0 && check(xinit, d+2*i*M)) ysides--;
if (i>0 && check(xinit, u+2*i*M)) ysides++;
}
int ymid=((d+u)>>1) + ysides*M;
cout<<"solution "<<xmid<<" "<<ymid<<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... |