Submission #1157798

#TimeUsernameProblemLanguageResultExecution timeMemory
1157798alexddCombo (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; std::string guess_sequence(int N) { char primu; if(press("AB")==0) { if(press("X")) primu = 'X'; else primu = 'Y'; } else { if(press("A")) primu = 'A'; else primu = 'B'; } vector<char> ch = {'A','B','X','Y'}; for(int i=0;i<4;i++) { if(ch[i]==primu) { ch.erase(ch.begin()+i); break; } } string s; s.push_back(primu); if(N==1) return s; for(int i=1;i<N-1;i++) { string p = ""; p += s;p.push_back(ch[0]); for(int j=0;j<3;j++) { p += s; p.push_back(ch[1]); p.push_back(ch[j]); } int x = press(p); if(x == (int)s.size()) { s.push_back(ch[2]); } else if(x == (int)s.size() + 1) { s.push_back(ch[0]); } else { s.push_back(ch[1]); } } assert((int)s.size() == N-1); if(press(s+ch[0])==N) return s + ch[0]; else if(press(s+ch[1])==N) return s + ch[1]; else return s + ch[2]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...