Submission #1168522

#TimeUsernameProblemLanguageResultExecution timeMemory
1168522HoriaHaivasCombo (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; string guess_sequence(int N) { int n,len,i; n=N; string options; string base; base=""; if (n==1) { if (press("A")==1) { base+="A"; } else if (press("B")==1) { base+="B"; } else if (press("X")==1) { base+="X"; } else { base+="Y"; } return base; } else { if (press("AB")>=1) { if (press("A")==1) base="A"; else base="B"; } else { if (press("X")==1) base="X"; else base="Y"; } } len=1; if (base=="A") { for (i=2; i<n; i++) { string ask; int rez; ask=base+"Y"+base+"XX"+base+"XB"+base+"XY"; rez=press(ask); if (rez-len==1) base+="Y"; if (rez-len==2) base+="X"; if (rez-len==0) base+="B"; len++; } if (press(base+"B")==len+1) base+="B"; else if (press(base+"X")==len+1) base+="X"; else base+="Y"; } if (base=="B") { for (i=2; i<n; i++) { string ask; int rez; ask=base+"A"+base+"XX"+base+"XA"+base+"XY"; rez=press(ask); if (rez-len==1) base+="A"; if (rez-len==2) base+="X"; if (rez-len==0) base+="Y"; len++; } if (press(base+"A")==len+1) base+="A"; else if (press(base+"X")==len+1) base+="X"; else base+="Y"; } if (base=="X") { for (i=2; i<n; i++) { string ask; int rez; ask=base+"A"+base+"BB"+base+"BA"+base+"BY"; rez=press(ask); if (rez-len==1) base+="A"; if (rez-len==2) base+="B"; if (rez-len==0) base+="Y"; len++; } if (press(base+"A")==len+1) base+="A"; else if (press(base+"B")==len+1) base+="B"; else base+="Y"; } if (base=="Y") { for (i=2; i<n; i++) { string ask; int rez; ask=base+"A"+base+"BB"+base+"BA"+base+"BX"; rez=press(ask); if (rez-len==1) base+="A"; if (rez-len==2) base+="B"; if (rez-len==0) base+="X"; len++; } if (press(base+"A")==len+1) base+="A"; else if (press(base+"B")==len+1) base+="B"; else base+="X"; } return base; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...