Submission #864038

#TimeUsernameProblemLanguageResultExecution timeMemory
864038dpsaveslivesCombo (IOI18_combo)C++17
100 / 100
12 ms1732 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; string guess_sequence(int N){ vector<int> mp = {'A','B','X','Y'}; string s = ""; int p; int r = press("AB"); if(r == 0){ r = press("X"); if(r == 0){ s += "Y"; p = 3; } else{ s += "X"; p = 2; } } else if(r == 1){ r = press("A"); if(r == 0){ s += "B"; p = 1; } else{ s += "A"; p = 0; } } else{ p = 0; s += "A"; } if(N == 1) return s; for(int i = 1;i<=N-2;++i){ string cur = ""; for(int j = 0;j<4;++j){ if(j != p){ cur += s; cur += mp[(p+1)%4]; cur += mp[j]; } } cur += s; cur += mp[(p+2)%4]; int r = press(cur); if(r == i){ s += mp[(p+3)%4]; } else if(r == i+1){ s += mp[(p+2)%4]; } else{ s += mp[(p+1)%4]; } } string cur = ""; cur += s; cur += mp[(p+1)%4]; r = press(cur); if(r == N) return cur; string newcur = ""; newcur += s; newcur += mp[(p+2)%4]; r = press(newcur); if(r == N) return newcur; s += mp[(p+3)%4]; return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...