# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
908298 | dragusanu_rares | 콤보 (IOI18_combo) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
string guess_sequence(int n){
if(n==1){
if(press("X")==1)return "X";
else if(press("Y")==1)return "Y";
else if(press("A")==1)return "A";
else return "B";
}
else{
char ch1,a,b,c;
string cunoscut;
if(press("XY")>=1){
if(press("X")==1)ch1='X';
else ch1='Y';
}
else{
if(press("A")==1)ch1='A';
else ch1='B';
}
cunoscut=ch1;
if(ch1=='A'){
a='B';
b='X';
c='Y';
}
else if(ch1=='B'){
a='A';
b='X';
c='Y';
}
else if(ch1=='X'){
a='A';
b='B';
c='Y';
}
else{
a='A';
b='B';
c='X';
}
while(cunoscut.size()<n-1){
string guess=cunoscut+b+cunoscut+c+a+cunoscut+c+b+cunoscut+c+c;
int x=press(guess)-cunoscut.size();
if(x==0)cunoscut.push_back(a);
else if(x==1)cunoscut.push_back(b);
else cunoscut.push_back(c);
}
if(press(cunoscut+a)==n)return cunoscut+a;
else if(press(cunoscut+b)==n)return cunoscut+b;
else return cunoscut+c;
}
}