Submission #421267

#TimeUsernameProblemLanguageResultExecution timeMemory
421267jlallas384Combo (IOI18_combo)C++17
100 / 100
37 ms596 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; string guess_sequence(int n){ string s = string(n,' '); if(press("AB")){ if(press("A")) s[0] = 'A'; else s[0] = 'B'; }else{ if(press("X")) s[0] = 'X'; else s[0] = 'Y'; } if(n == 1) return s; string c = "ABXY"; c.erase(remove(c.begin(),c.end(),s[0]),c.end()); for(int i = 1; i < n - 1; i++){ string q = ""; for(int j = 0; j < 3; j++){ q += s.substr(0,i) + c[0] + c[j]; } q += s.substr(0,i) + c[1]; int res = press(q); if(res == i) s[i] = c[2]; else if(res == i + 1) s[i] = c[1]; else s[i] = c[0]; } for(int i = 0; i < 2; i++){ s[n-1] = c[i]; if(press(s) == n) return s; } s[n-1] = c[2]; return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...