Submission #1043694

#TimeUsernameProblemLanguageResultExecution timeMemory
1043694sofppCombo (IOI18_combo)C++14
0 / 100
0 ms344 KiB
#include<bits/stdc++.h> #include "combo.h" using namespace std; string guess_sequence(int N) { string p = "";string S = ""; int coins=0;//press("AB"); if(press("AB")==2){ S+='A';S+='B'; coins+=2; } else if(press("AB")==1){ //coins+=press("A"); if(press("A")>1){ S+='A'; }else{ S+='B'; } coins+=1; } else{ if(press("XY")==2){ coins+=2; S+='X';S+='Y'; } else if(press("XY")==1){ //coins+=press("X"); if(press("X")>=1){ S+='X'; } else{ S+='Y'; } coins+=1; } } string character=S; if(coins==2){ for(int i=2;i<N-1;i++){ p=""; if(character=="A"){ p+=S; p+='B';p+=S; p+="XY";;p+=S;p+="XB";p+=S;;p+="XX"; if(press(p)==(int)S.size()+2){ S+='B'; } else if(press(p)==(int)S.size()+3){ S+='X'; } else{ S+='Y'; } } if(character=="B"){ p+=S; p+='A';p+=S; p+="XA";;p+=S;p+="XY";p+=S;;p+="XX"; if(press(p)==(int)S.size()+2){ S+='A'; } else if(press(p)==(int)S.size()+3){ S+='X'; } else{ S+='Y'; } } if(character=="X"){ p+=S; p+='A';p+=S; p+="BA";;p+=S;p+="BY";p+=S;;p+="BB"; if(press(p)==(int)S.size()+2){ S+='A'; } else if(press(p)==(int)S.size()+3){ S+='B'; } else{ S+='Y'; } } if(character=="Y"){ p+=S; p+='A';p+=S; p+="BA";;p+=S;p+="BX";p+=S;;p+="BB"; if(press(p)==(int)S.size()+2){ S+='A'; } else if(press(p)==(int)S.size()+3){ S+='B'; } else{ S+='X'; } } } } else{ for(int i=1;i<N-1;i++){ p=""; if(character=="A"){ p+=S; p+='B';p+=S; p+="XY";;p+=S;p+="XB";p+=S;;p+="XX"; if(press(p)==(int)S.size()+2){ S+='B'; } else if(press(p)==(int)S.size()+3){ S+='X'; } else{ S+='Y'; } } if(character=="B"){ p+=S; p+='A';p+=S; p+="XA";;p+=S;p+="XY";p+=S;;p+="XX"; if(press(p)==(int)S.size()+2){ S+='A'; } else if(press(p)==(int)S.size()+3){ S+='X'; } else{ S+='Y'; } } if(character=="X"){ p+=S; p+='A';p+=S; p+="BA";;p+=S;p+="BY";p+=S;;p+="BB"; if(press(p)==(int)S.size()+2){ S+='A'; } else if(press(p)==(int)S.size()+3){ S+='B'; } else{ S+='Y'; } } if(character=="Y"){ p+=S; p+='A';p+=S; p+="BA";;p+=S;p+="BX";p+=S;;p+="BB"; if(press(p)==(int)S.size()+2){ S+='A'; } else if(press(p)==(int)S.size()+3){ S+='B'; } else{ S+='X'; } } } } p = ""; if(character=="A"){ p+=S;p+="B";p+=S;p+='X'; if(press(p)== N){ string c=S+'B'; if(press(c)==N){ S+='B'; } else{ S+='X'; } } else{ S+='Y'; } } if(character=="B"){ p+=S;p+="A";p+=S;p+='X'; if(press(p)== N){ string c=S+'A'; if(press(c)==N){ S+='A'; } else{ S+='X'; } } else{ S+='Y'; } } if(character=="A"){ p+=S;p+="A";p+=S;p+='B'; if(press(p)== N){ string c=S+'A'; if(press(c)==N){ S+='A'; } else{ S+='B'; } } else{ S+='Y'; } } if(character=="Y"){ p+=S;p+="A";p+=S;p+='B'; if(press(p)== N){ string c=S+'A'; if(press(c)==N){ S+='A'; } else{ S+='B'; } } else{ S+='X'; } } // int coins = press(p); // for (int i = 0; i < N; ++i) { // S += 'A'; // } return S; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...