Submission #1216530

#TimeUsernameProblemLanguageResultExecution timeMemory
1216530santi3223Combo (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; #define ll long long #define vl vector<ll> #define vb vector<bool> #define pb push_back #define ff(aa, bb, cc) for(ll aa = bb; aa < cc; aa++) #define pll pair<ll, ll> #define fi first #define se second #define ed "\n" #define all(aaa) aaa.begin(), aaa.end() #define rall(aaa) aaa.rbegin(), aaa.rend() ll MOD = 1e9+7; string guess_sequence(int N){ if(N == 1){ if(press("A")){ return "A"; } if(press("B")){ return "B"; } if(press("X")){ return "X"; } return "Y"; } string str = ""; if(press("AB")){ if(press("A")){ str = "A"; ll n = 1; while(n < N-1){ n = str.size(); ll v = press(str+"B"+str+"XY"+str+"XX"+str+"XB"); if(v == n){ str += "Y"; } else if(v == n+1){ str += "B"; } else{ str += "X"; } n = str.size(); } if(press(str+"B") == N){ str += "B"; } else if(press(str+"X") == N){ str += "X"; } else{ str += "Y"; } } else{ str = "B"; ll n = 1; while(n < N-1){ n = str.size(); ll v = press(str+"A"+str+"XY"+str+"XX"+str+"XA"); if(v == n){ str += "Y"; } else if(v == n+1){ str += "A"; } else{ str += "X"; } n = str.size(); } if(press(str+"A") == N){ str += "A"; } else if(press(str+"X") == N){ str += "X"; } else{ str += "Y"; } } } else{ if(press("X")){ str = "X"; ll n = 1; while(n < N-1){ n = str.size(); ll v = press(str+"A"+str+"BY"+str+"BB"+str+"BA"); if(v == n){ str += "Y"; } else if(v == n+1){ str += "A"; } else{ str += "B"; } n = str.size(); } if(press(str+"B") == N){ str += "B"; } else if(press(str+"A") == N){ str += "A"; } else{ str += "Y"; } } else{ str = "Y"; ll n = 1; while(n < N-1){ n = str.size(); ll v = press(str+"A"+str+"BX"+str+"BB"+str+"BA"); if(v == n){ str += "X"; } else if(v == n+1){ str += "A"; } else{ str += "B"; } n = str.size(); } if(press(str+"B") == N){ str += "B"; } else if(press(str+"A") == N){ str += "A"; } else{ str += "X"; } } } return str; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...