This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <string>
#include <stdio.h>
#include "combo.h"
using namespace std;
string all;
string aaa;
bool have[4]={0};
bool can[5][2005]={0};
char change[4]={'A','B','X','Y'};
string guess_sequence(int N)
{
int con=0,i,j,k,t,x=0,a,b;
for(i=0;i<N;i++)
{
//printf("%d\n",i);
t=0;
con=0;
for(j=0;j<4;j++)
{
if(i==1&&change[j]==all[0]) for(k=i;k<N;k++) can[j][k]=1;
t+=(1-can[j][i]);
}
for(j=0;j<4;j++)
{
if(can[j][i]) continue;
if(con+1==t) all+=change[j];
else
{
a=-1;
b=-1;
for(k=0;k<4;k++)
{
if(can[k][i+1]) continue;
if(a==-1) a=k;
else if(b==-1) b=k;
}
//printf("%d %d\n",a,b);
aaa=all;
aaa+=change[j];
aaa+=change[a];
aaa+=all;
aaa+=change[j];
aaa+=change[b];
x=press(aaa);
//printf("%d\n",x);
if(x==i+1)
{
all+=change[j];
if(i!=N-1) for(k=b+1;k<4;k++) if(!can[k][i]) all+=change[k];
i++;
break;
}
else if(x==i+2)
{
all+=change[j];
for(k=b+1;k<4;k++) if(!can[k][i]) can[k][i+1]=1;
break;
}
}
}
}
return all;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |