# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
908298 | dragusanu_rares | Combo (IOI18_combo) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
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;
}
}