Submission #869765

#TimeUsernameProblemLanguageResultExecution timeMemory
869765NinedesuCombo (IOI18_combo)C++14
0 / 100
1 ms424 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; int st,sti=1; string t="ABXY"; string guess_sequence(int N) { string p = "ABX"; int c=press(p); if(c==3){ st=0; sti=3; if(N==3)return p; } else if(c==2){ sti=2; p="AB"; c=press(p); if(c==2)st=0; else{ st=1; p="BX"; } if(N==2)return p; } else if(c==1){ p="AB"; c=press(p); if(c==1){ p="A"; c=press(p); if(c==1)st=0; else{ p="B"; st=1; } } else{ p="X"; st=2; } } else{ p="Y"; st=3; } if(N==1)return p; for(int i=sti; i<N-1; i++){ string q=""; int x=0; if(x==st)x++; for(int j=0; j<4; j++){ if(st==j)continue; q+=p+t[x]+t[j]; } x++; if(x==st)x++; q+=p+t[x]; x++; if(x==st)x++; c=press(q); if(c==p.size()+2)p+=q[p.size()]; else if(c==p.size()+1)p+=q[q.size()-1]; else p+=t[x]; } string q; int x=0; for(int i=1; i<=2; i++,x++){ if(x==st)x++; q+=p+t[x]; } c=press(q); if(c==N){ int y=0; if(y==st)y++; q=p+t[y]; c=press(q); if(c==N)return q; else{ y++; if(y==st)y++; return p+t[y]; } } else return p+t[x]; return p; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:63:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |     if(c==p.size()+2)p+=q[p.size()];
      |        ~^~~~~~~~~~~~
combo.cpp:64:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   64 |     else if(c==p.size()+1)p+=q[q.size()-1];
      |             ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...