#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |