Submission #719429

#TimeUsernameProblemLanguageResultExecution timeMemory
719429AndrijaMCombo (IOI18_combo)C++14
88 / 100
35 ms596 KiB
#include <bits/stdc++.h> #include "combo.h" using ll=long long; using namespace std; string guess_sequence(int n) { vector<string>v; v.push_back("A"); v.push_back("B"); v.push_back("X"); v.push_back("Y"); string ans=""; bool ok=false; string c; if(!ok && press("A")) { ok=true; v.erase(v.begin()+0); c="A"; ans+="A"; } if(!ok && press("B")) { ok=true; v.erase(v.begin()+1); c="B"; ans+="B"; } if(!ok && press("X")) { ok=true; c="X"; v.erase(v.begin()+2); ans+="X"; } if(!ok && press("Y")) { ok=true; c="Y"; v.erase(v.begin()+3); ans+="Y"; } int k=1; while(true) { string sp=ans; string nstr; if(sp.size()>1) { sp.erase(sp.begin()+0); nstr=ans+v[0]+c+sp+v[1]+v[0]+ans+v[1]+v[1]+ans+v[1]+v[2]; } else { nstr=ans+v[0]+c+v[1]+v[0]+ans+v[1]+v[1]+ans+v[1]+v[2]; } if(nstr.size()<=4*n) { int kol=press(nstr); if(kol==k) { ans+=v[2]; } else if(kol==k+1) { ans+=v[0]; } else if(kol==k+2) { ans+=v[1]; } } else { if(press(ans)==n) { break; } if(press(ans+v[0])==n) { ans+=v[0]; break; } if(press(ans+v[1])==n) { ans+=v[1]; break; } if(press(ans+v[2])==n) { ans+=v[2]; break; } } k=ans.size(); } return ans; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:61:23: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   61 |         if(nstr.size()<=4*n)
      |            ~~~~~~~~~~~^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...