Submission #1142529

#TimeUsernameProblemLanguageResultExecution timeMemory
1142529joker2Combo (IOI18_combo)C++20
0 / 100
0 ms412 KiB
#include "combo.h" #include <unordered_set> #include <unordered_map> #include <iostream> #include <vector> #include <cmath> #include <algorithm> #include <string> #include <iomanip> #include <numeric> using namespace std; #define INF 1000000000 std::string guess_sequence(int N) { string S = ""; vector<char> btns = {'A','B','X','Y'}; while (S.length() != N) { if (S.length() == 0) { int coin = press("AB"); if (coin > 0) { coin = press("A"); if (coin == 1) { S += 'A'; btns.erase(btns.begin()); } else { S += 'B'; btns.erase(btns.begin()+1); } } else { coin = press("X"); if (coin == 1) { S += 'X'; btns.erase(btns.begin()+2); } else { S += 'Y'; btns.erase(btns.begin()+3); } } } else if (S.length() < N) { string message = ""; message += S; message += btns[0]; for (size_t i = 0; i < 3; i++) { message += S; message += btns[1] + btns[i]; } int coin = press(message); if (coin == S.length()+1) { S += btns[0]; } else if (coin == S.length() + 2) { S += btns[1]; } else { S += btns[2]; } } else { int coin = press(S+btns[0]+btns[1]); if (coin > S.length()) { coin = press(S+btns[0]); if (coin == 1) { S += btns[0]; } else { S += btns[1]; } } else { S += btns[2]; } } } return S; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...