제출 #1154617

#제출 시각아이디문제언어결과실행 시간메모리
1154617dzuizzAliens (IOI07_aliens)C++20
0 / 100
1 ms416 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int n,l,r; bool f(int x,int y){ if(x<1||x>n||y<1||y>n) return false; cout<<"examine "<<x<<" "<<y<<endl; string s; cin>>s; return s=="true"; } signed main(){ int x,y; cin>>n>>x>>y; l=x,r=x; while(f(--l,y)); ++l; while(f(++r,y)); --r; int fx=(l+r)>>1,m=r-l+1; l=y,r=y; while(f(fx,--l)); ++l; while(f(fx,++r)); --r; int fy=(l+r)>>1; int x0=fx,x1=fx,y0=fy,y1=fy; cout<<fx<<" "<<fy<<'\n'; for(int i=1;i<=2;++i){ if(f(fx+i*2*m,fy)) x1=max(x1,fx+i*2*m); if(f(fx-i*2*m,fy)) x0=min(x0,fx-i*2*m); if(f(fx,fy+i*2*m)) y1=max(y1,fy+i*2*m); if(f(fx,fy-i*2*m)) y0=min(y0,fy-i*2*m); if(f(fx+i*m,fy+i*m)) x1=max(x1,fx+i*m),y1=max(y1,fy+i*m); if(f(fx+i*m,fy-i*m)) x1=max(x1,fx+i*m),y0=min(y0,fy-i*m); if(f(fx-i*m,fy+i*m)) x0=min(x0,fx-i*m),y1=max(y1,fy+i*m); if(f(fx-i*m,fy-i*m)) x0=min(x0,fx-i*m),y0=min(y0,fy-i*m); } int solx=(x0+x1)>>1,soly=(y0+y1)>>1; cout<<"solution "<<solx<<" "<<soly<<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...