Submission #1147468

#TimeUsernameProblemLanguageResultExecution timeMemory
1147468Kaztaev_AlisherCombo (IOI18_combo)C++20
100 / 100
8 ms636 KiB
#include "combo.h" #include <bits/stdc++.h> #define ios ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0) #define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout) #define all(a) a.begin() , a.end() #define F first #define S second using namespace std; using ll = long long; const ll N = 1e6+5 , inf = 2e9 + 7 , block = 1000; const ll INF = 1e18 , mod = 1e9+7; string guess_sequence(int N) { string s = ""; string s1 = ""; int cur = press("AB"); if(cur == 2) { s += "A" , s += "B" , s1 = "BXY"; } else if(cur == 1){ cur = press("A"); if(cur == 1) s += "A" , s1 = "BXY"; else s += "B" , s1 = "AXY"; } else { cur = press("X"); if(cur == 1) s += "X" , s1 = "ABY"; else s += "Y" , s1 = "ABX"; } while(s.size() < N){ if(s.size()+1 == N){ for(int j = 0; j < 3; j++){ if(j == 2){ s += s1[j]; } else { s += s1[j]; if(press(s) == s.size()) break; s.pop_back(); } } continue; } else { string nw = s; string nw2 = s; string nw3 = s; string nw4 = s; nw += s1[0]; nw2 += s1[1]; nw2 += s1[0]; nw3 += s1[1]; nw3 += s1[1]; nw4 += s1[1]; nw4 += s1[2]; int cur = press(nw+nw2+nw3+nw4); if(cur == nw2.size()){ s += s1[1]; continue; } if(cur == nw.size()){ s += s1[0]; continue; } s += s1[2]; continue; } } // cout << s << "\n"; return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...