Submission #1194606

#TimeUsernameProblemLanguageResultExecution timeMemory
1194606KindaGoodGamesCombo (IOI18_combo)C++17
100 / 100
11 ms536 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; int doPress(string s){ cerr <<"q: "<<s << endl; int ans =press(s); cerr <<"ans: "<<ans<<endl; return ans; } std::string guess_sequence(int N) { int n = N; string res = ""; // get start vector<char> allow; if(doPress("AB") >= 1){ cerr<<"case1"<<endl; if(doPress("A") == 1){ res = "A"; allow = {'B','X','Y'}; }else{ res = "B"; allow = {'A','X','Y'}; } } else{ cerr<<"case2"<<endl; if(doPress("X") == 1){ res = "X"; allow = {'B','A','Y'}; }else{ res = "Y"; allow = {'B','X','A'}; } } cerr <<"first: " << res << endl; for(int i = 1; i < n-1; i++){ string q = res + allow[0] + res + allow[1] + allow[0]+ res + allow[1] + allow[1]+ res + allow[1] + allow[2]; int ans = doPress(q); if(ans == i+1){ res += allow[0]; }else if(ans == i+2){ res += allow[1]; }else{ res += allow[2]; } cerr<<"current res: " << res << endl; } if(res.size() < n){ if(doPress(res + allow[0]) == n){ res += allow[0]; }else if(doPress(res+allow[1]) == n){ res += allow[1]; }else{ res += allow[2]; } } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...