Submission #598469

#TimeUsernameProblemLanguageResultExecution timeMemory
598469PoonYaPatAliens (IOI07_aliens)C++14
0 / 100
1 ms208 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll n,x,y; ll bn,bs,be,bw; bool examine(ll x, ll y) { if (x<1 || y<1 || x>n || y>n) return false; cout<<"examine "<<x<<" "<<y<<flush; string s; cin>>s; if (s=="true") return true; else return false; } int main() { cin>>n>>x>>y; //east ll k=1; while (examine(x+k,y)) k*=2; ll l=x, r=min(n,x+k); /* while (r>=l) { ll mid=(l+r)/2; if (examine(mid,y)) l=mid+1; else r=mid-1; } be=r; */ /* //north k=1; while (examine(x,y+k)) k*=2; l=y; r=min(n,y+k); while (r>=l) { ll mid=(l+r)/2; if (examine(x,mid)) l=mid+1; else r=mid-1; } bn=r; //west k=1; while (examine(x-k,y)) k*=2; l=max(1ll,x-k); r=x; while (r>=l) { int mid=(l+r)/2; if (examine(mid,y)) r=mid-1; else l=mid+1; } bw=l; //south k=1; while (examine(x,y-k)) k*=2; l=y; r=max(1ll,y-k); while (r>=l) { int mid=(l+r)/2; if (examine(x,mid)) r=mid-1; else l=mid+1; } bs=l; */ ll cx=(be+bw)/2, cy=(bn+bs)/2, sz=(be-bw+1)*2; ll ansx, ansy; /* if (examine(cx+sz,cy)) { //have right if (examine(cx+2*sz,cy)) { //have 2 right ansx=cx+sz; if (examine(ansx,cy+2*sz)) ansy=cy+sz; else if (examine(ansx,cy-2*sz)) ansy=cy-sz; else ansy=cy; } else if (examine(cx-sz,cy)) { // have left and right ansx=cx; if (examine(ansx,cy+2*sz)) ansy=cy+sz; else if (examine(ansx,cy-2*sz)) ansy=cy-sz; else ansy=cy; } else { ansx=cx+sz/2; if (examine(ansx,cy+3*(sz/2))) ansy=cy+sz/2; else ansy=cy-sz/2; } } else { //have left if (examine(cx-2*sz,cy)) { //have 2 left ansx=cx-sz; if (examine(ansx,cy+2*sz)) ansy=cy+sz; else if (examine(ansx,cy-2*sz)) ansy=cy-sz; else ansy=cy; } else { ansx=cx-sz/2; if (examine(ansx,cy+3*(sz/2))) ansy=cy+sz/2; else ansy=cy-sz/2; } } */ cout<<"solution "<<ansx<<" "<<ansy<<flush; }

Compilation message (stderr)

aliens.cpp: In function 'int main()':
aliens.cpp:23:8: warning: unused variable 'l' [-Wunused-variable]
   23 |     ll l=x, r=min(n,x+k);
      |        ^
aliens.cpp:23:13: warning: unused variable 'r' [-Wunused-variable]
   23 |     ll l=x, r=min(n,x+k);
      |             ^
aliens.cpp:65:8: warning: unused variable 'cx' [-Wunused-variable]
   65 |     ll cx=(be+bw)/2, cy=(bn+bs)/2, sz=(be-bw+1)*2;
      |        ^~
aliens.cpp:65:22: warning: unused variable 'cy' [-Wunused-variable]
   65 |     ll cx=(be+bw)/2, cy=(bn+bs)/2, sz=(be-bw+1)*2;
      |                      ^~
aliens.cpp:65:36: warning: unused variable 'sz' [-Wunused-variable]
   65 |     ll cx=(be+bw)/2, cy=(bn+bs)/2, sz=(be-bw+1)*2;
      |                                    ^~
aliens.cpp:106:24: warning: 'ansx' is used uninitialized in this function [-Wuninitialized]
  106 |     cout<<"solution "<<ansx<<" "<<ansy<<flush;
      |                        ^~~~
aliens.cpp:106:35: warning: 'ansy' is used uninitialized in this function [-Wuninitialized]
  106 |     cout<<"solution "<<ansx<<" "<<ansy<<flush;
      |                                   ^~~~
#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...