Submission #1174104

#TimeUsernameProblemLanguageResultExecution timeMemory
1174104wpdmd76Combo (IOI18_combo)C++20
100 / 100
9 ms508 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; using ll = long long; #define all(v) v.begin(), v.end() string guess_sequence(int N){ string a[4] = {"A", "B", "X", "Y"}; string res = ""; int ix; int l = press("AB"); if(l != 0){ l = press("A"); if(l == 1){ res = "A"; ix = 0; }else{ res = "B"; ix = 1; } }else{ l = press("X"); if(l == 1){ res = "X"; ix = 2; }else{ res = "Y"; ix = 3; } } if(N == 1) return res; while(res.size() < N - 1){ string tmp = ""; tmp += res + a[(ix + 1) % 4] + a[(ix + 1) % 4]; tmp += res + a[(ix + 1) % 4] + a[(ix + 2) % 4]; tmp += res + a[(ix + 1) % 4] + a[(ix + 3) % 4]; tmp += res + a[(ix + 2) % 4]; int x = press(tmp); if(x == res.size()) res += a[(ix + 3) % 4]; else if(x == res.size() + 1) res += a[(ix + 2) % 4]; else res += a[(ix + 1) % 4]; } int cnt = 0; for(int i = 0; i < 4; i++){ if(ix == i) continue; if(cnt == 2) break; if(press(res + a[i]) == N){ return res + a[i]; } cnt++; } if(ix == 3) return res + a[2]; else return res + a[3]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...