Submission #1172497

#TimeUsernameProblemLanguageResultExecution timeMemory
1172497lnsuynCombo (IOI18_combo)C++20
100 / 100
6 ms484 KiB
#include<bits/stdc++.h> #include "combo.h" using namespace std; string guess_sequence(int N){ string s="XY"; int r=press(s); if (r){ s="X"; r=press(s); if (!r){ s="Y"; } }else{ s="A"; r=press(s); if (!r){ s="B"; } } int n=1; string s3="ABXY"; int st; for (int i=0; i<4; i++){ if (s3[i]==s[0]){ st=i; break; } } while (n<N-1){ for (int i=0; i<4; i++){ if (i!=st){ for (int j=i+1; j<4; j++){ if (j!=st){ int k=6-st-i-j; string s2=""; s2+=s; s2+=s3[i]; s2+=s; s2+=s3[j]; s2+=s3[i]; s2+=s; s2+=s3[j]; s2+=s3[j]; s2+=s; s2+=s3[j]; s2+=s3[k]; int r=press(s2); if (r==n){ s+=s3[k]; }else if(r==n+1){ s+=s3[i]; }else{ s+=s3[j]; } n++; break; } } break; } } } if (n==N-1){ int i, j; for (i=0; i<4; i++){ if (i!=st){ string s2=""; s2+=s; s2+=s3[i]; int r=press(s2); if (r==n+1){ s+=s3[i]; return s; } break; } } for (j=i+1; j<4; j++){ if (j!=st){ string s2=""; s2+=s; s2+=s3[j]; int r=press(s2); if (r==n+1){ s+=s3[j]; return s; } break; } } s+=s3[6-st-i-j]; } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...