Submission #1008233

#TimeUsernameProblemLanguageResultExecution timeMemory
1008233aParrotCombo (IOI18_combo)C++14
0 / 100
1 ms344 KiB
#include "bits/stdc++.h" #include "combo.h" using namespace std; #define ll long long #define vi vector<int> #define pb push_back #define coord pair<int, int> const int MOD = 1e9 + 7; const int MAXN = 1e3; // int dp[MAXN]; string guess_sequence(int N) { // find first letter in 2 presses int res; res = press("AB"); string f; if (res >= 1) { res = press("A"); if (res == 1) { f = "A"; } else { f = "B"; } } else { res = press("X"); if (res == 1) { f = "X"; } else { f = "Y"; } } if (N==1) { return f; } vector<string> chars = {"A", "B", "X", "Y"}; chars.erase(find(chars.begin(), chars.end(), f)); // cout << "left letters:" << endl; // for (string c : chars) { // cout << c << endl; // } // cout << endl; string ans = f; for (int i=1; i<N-1; i++) { // chars has length 3 // excluding last character from chars string g = ans + chars[0]; g += ans + chars[1] + chars[0]; g += ans + chars[1] + chars[1]; g += ans + chars[1] + chars[2]; res = press(g); if (res == (int)ans.length()) { ans += chars[2]; } else if (res == (int)ans.length()+1) { ans += chars[0]; } else { ans += chars[1]; } } // guess last letter res = press(ans + chars[0] + ans + chars[1]); if (res == N) { res = press(ans + chars[0]); if (res == N) { ans += chars[0]; } else { ans += chars[1]; } } else { ans += chars[2]; } cout << "My answer: " << ans << endl; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...