#include "combo.h"
using namespace std;
string guess_sequence(int N) {
int d[4]={0,0,0,0};
char p[4]={'A','B','X','Y'};
string s_1,s_2,s_3,s_4;
string sa="";
int coins = press("AB");
if(coins>=1){
coins=press("A");
if(coins==1){
d[0]=1;
sa="A";
}
else{
d[1]=1;
sa+="B";
}
}
else{
coins=press("X");
if(coins==1){
d[2]=1;
sa+="X";
}
else{
d[3]=1;
sa+="Y";
}
}
if(d[3]==1){
s_1="A";
s_2="BA";
s_3="BB";
s_4="BX";
}
else if(d[2]==1){
s_1="A";
s_2="BA";
s_3="BB";
s_4="BY";
}
else if(d[0]==1){
s_1="X";
s_2="YY";
s_3="YX";
s_4="YB";
}
else{
s_1="A";
s_2="XA";
s_3="XX";
s_4="XY";
}
while(sa.size()<N-1){
string w="";
for(int i=1; i<=4; i++){
w+=sa;
if(i%4==1){
w+=s_1;
}
else if(i%4==2){
w+=s_2;
}
else if(i%4==3){
w+=s_3;
}
else w+=s_4;
}
coins=press(w);
if(coins==sa.size()){
sa+=s_4[1];
}
else if(coins==sa.size()+1){
sa+=s_1[0];
}
else sa+=s_2[0];
}
int k=0;
for(int i=0; i<3; i++){
if(k>=2){
if(p[3]==1)sa+=p[2];
else sa+=p[3];
return sa;
}
if(d[i]==0){
string w=sa;
w+=p[i];
coins=press(w);
if(coins==N){
sa+=p[i];
return sa;
}
else d[i]=1;
k++;
}
}
sa+=p[3];
return sa;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |