Submission #132459

#TimeUsernameProblemLanguageResultExecution timeMemory
132459dragonslayeritAliens (IOI07_aliens)C++14
100 / 100
4 ms376 KiB
#include <cstdio> #include <cstring> long long N; bool examine(long long x,long long y){ if(x<1||x>N||y<1||y>N) return false; printf("examine %lld %lld\n",x,y); fflush(stdout); char response[16]; scanf("%s",response); return !strcmp(response,"true"); } //distance to nearest non-flattened long long search(long long x,long long y,long long dx,long long dy){ long long low=0,high=1; while(examine(x+high*dx,y+high*dy)){ high*=2; } while(high-low>1){ long long mid=(low+high)/2; if(examine(x+mid*dx,y+mid*dy)){ low=mid; }else{ high=mid; } } return high; } int main(){ long long X,Y; scanf("%lld %lld %lld",&N,&X,&Y); long long up=search(X,Y,0,1); long long down=search(X,Y,0,-1); long long M=up+down-1; Y+=(up-down)/2; long long left=search(X,Y,-1,0); long long right=M+1-left; X+=(right-left)/2; //printf("(%lld,%lld) M=%lld\n",X,Y,M); for(long long i=4;i>=0;i--){ for(long long j=4;j>=0;j--){ if(examine(X-i*M,Y-j*M)){ printf("solution %lld %lld\n",X-i*M+2*M,Y-j*M+2*M); return 0; } } } }

Compilation message (stderr)

aliens.cpp: In function 'bool examine(long long int, long long int)':
aliens.cpp:11:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%s",response);
   ~~~~~^~~~~~~~~~~~~~~
aliens.cpp: In function 'int main()':
aliens.cpp:34:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld %lld",&N,&X,&Y);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...