Submission #101462

#TimeUsernameProblemLanguageResultExecution timeMemory
101462daniel920712Combo (IOI18_combo)C++14
0 / 100
1 ms248 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...