Submission #1216500

#TimeUsernameProblemLanguageResultExecution timeMemory
1216500Vale_sCombo (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; string guess_sequence(int N){ string s; if (press("AB")>0){ if(press("A")==1) s="A"; else s="B"; } else{ if(press("X")==1) s="X"; else s="Y"; } vector<string> op; if(s=="A") op={"B","XB","XX","XY"}; else if(s=="B") op={"A","XA","XX","XY"}; else if(s=="X") op={"A","BA","BB","BY"}; else if(s=="Y") op={"A","BA","BB","BX"}; for(int i=1;i<N-1;i++){ int cc=press(s+op[0]+s+op[1]+s+op[2]+s+op[3]); if (s[0]=='A'){ if (cc==i) s+='Y'; else if(cc==i+1) s+='B'; else if(cc==i+2) s+='X'; } if (s[0]=='B'){ if (cc==i) s+='Y'; else if(cc==i+1) s+='A'; else if(cc==i+2) s+='X'; } if (s[0]=='X'){ if (cc==i) s+='Y'; else if(cc==i+1) s+='A'; else if(cc==i+2) s+='B'; } if (s[0]=='Y'){ if (cc==i) s+='X'; else if(cc==i+1) s+='A'; else if(cc==i+2) s+='B'; } } if(N>1){ if(press(s+"A"+s+"B")==N){ if(press(s+"A")==N) s+="A"; else s+="B"; } else{ if(press(s+"X")==N) s+="X"; else s+="Y"; } } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...