Submission #1007211

#TimeUsernameProblemLanguageResultExecution timeMemory
1007211devariaotaCombo (IOI18_combo)C++17
100 / 100
20 ms2068 KiB
#include "combo.h" using namespace std; string guess_sequence(int N) { string ans = ""; int val = press("AB"); if(val >= 1){ val = press("A"); if(val == 1){ ans += "A"; }else{ ans += "B"; } }else{ val = press("X"); if(val >= 1){ ans += "X"; }else{ ans += "Y"; } } N--; if(!N){ return ans; } if(ans == "A"){ int old = ans.length(); while(N-1){ val = press(ans+"BB"+ans+"BX"+ans+"BY"+ans+"X"); if((val-old) == 2){ ans += "B"; }else if((val-old)){ ans += "X"; }else{ ans += "Y"; } old++; N--; } val = press(ans+"B"); if(val == old+1){ ans += "B"; }else{ val = press(ans+"X"); if(val == old+1){ ans += "X"; }else{ ans += "Y"; } } }else if(ans == "B"){ int old = ans.length(); while(N-1){ val = press(ans+"AA"+ans+"AX"+ans+"AY"+ans+"X"); if((val-old) == 2){ ans += "A"; }else if((val-old)){ ans += "X"; }else{ ans += "Y"; } old++;N--; } val = press(ans+"A"); if(val == old+1){ ans += "A"; }else{ val = press(ans+"X"); if(val == old+1){ ans += "X"; }else{ ans += "Y"; } } }else if(ans == "X"){ int old = ans.length(); while(N-1){ val = press(ans+"AA"+ans+"AB"+ans+"AY"+ans+"B"); if((val-old) == 2){ ans += "A"; }else if((val-old)){ ans += "B"; }else{ ans += "Y"; } old++;N--; } val = press(ans+"B"); if(val == old+1){ ans += "B"; }else{ val = press(ans+"A"); if(val == old+1){ ans += "A"; }else{ ans += "Y"; } } }else{ int old = ans.length(); while(N-1){ val = press(ans+"AA"+ans+"AB"+ans+"AX"+ans+"B"); if((val-old) == 2){ ans += "A"; }else if((val-old)){ ans += "B"; }else{ ans += "X"; } old++;N--; } val = press(ans+"B"); if(val == old+1){ ans += "B"; }else{ val = press(ans+"X"); if(val == old+1){ ans += "X"; }else{ ans += "A"; } } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...