제출 #719423

#제출 시각아이디문제언어결과실행 시간메모리
719423AndrijaM콤보 (IOI18_combo)C++14
88 / 100
37 ms624 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; sp.erase(sp.begin()+0); string nstr=ans+v[0]+c+sp+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; }

컴파일 시 표준 에러 (stderr) 메시지

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