제출 #1221687

#제출 시각아이디문제언어결과실행 시간메모리
1221687laurra콤보 (IOI18_combo)C++20
100 / 100
9 ms572 KiB
#include "combo.h" #include <iostream> using namespace std; string guess_sequence(int N) { int i,coins,j,cnt; string litere="YBXA",S,prefix; char prima,aux[3]; cnt=0; S=litere[0]; S=S+litere[1]; coins=press(S); if(coins) { S=litere[0]; coins=press(S); if(coins) { i=0; prima=litere[i]; for(j=0;j<4;j++) if(j!=i) aux[cnt]=litere[j],cnt++; } else { i=1; prima=litere[i]; for(j=0;j<4;j++) if(j!=i) aux[cnt]=litere[j],cnt++; } } else { S=litere[2]; coins=press(S); if(coins) { i=2; prima=litere[i]; for(j=0;j<4;j++) if(j!=i) aux[cnt]=litere[j],cnt++; } else { i=3; prima=litere[i]; for(j=0;j<4;j++) if(j!=i) aux[cnt]=litere[j],cnt++; } } ///cout<<prima; prefix=prima; if(N==1) return prefix; for(i=1;i<N-1;i++) { S=""; S=S+prefix+aux[0]; for(j=0;j<3;j++) { S=S+prefix; S=S+aux[1]+aux[j]; } coins=press(S); if(coins==prefix.length()) prefix=prefix+aux[2]; else if(coins==prefix.length()+1) prefix=prefix+aux[0]; else prefix=prefix+aux[1]; } S=prefix+litere[0]; S=S+prefix+litere[1]; coins=press(S); if(coins==N) { S=prefix+litere[0]; coins=press(S); if(coins==N) return prefix+litere[0]; else return prefix+litere[1]; } else { S=prefix+litere[2]; coins=press(S); if(coins==N) return prefix+litere[2]; else return prefix+litere[3]; } return prefix; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...