이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string a[] = {"A", "B", "X", "Y"};
string guess_sequence(int N) {
int v0 = press(string("AB"));
string p = "";
int f = 0;
if(v0 > 0){
int b = press(string("A"));
if(b > 0) p ="A";
else p="B", f= 1;
}else{
int b = press(string("X"));
if(b > 0) p ="X", f=2;
else p="Y", f=3;
}
for(int i = 1;i<N-1;i++){
string q = p;
q += a[(f+1)&3];
q += a[(f+1)&3];
q += p;
q += a[(f+1)&3];
q += a[(f+2)&3];
q += p;
q += a[(f+1)&3];
q += a[(f+3)&3];
q += p;
q += a[(f+2)&3];
//cout << q << '\n';
int v = press(q);
int n = p.length();
if(v == n+2) p += a[(f+1)&3];
if(v == n+1) p += a[(f+2)&3];
if(v == n) p += a[(f+3)&3];
//cout << p << '\n';
}
if(N > 1){
string q = p;
q += a[(f+1)&3];
q += p;
q += a[(f+2)&3];
//cout << q << '\n';
int v = press(q);
int n = p.length();
if(v == n){
p += a[(f+3)&3];
}else{
string q = p;
q += a[(f+1)&3];
v = press(q);
if(v == n) p += a[(f+2)&3];
else p += a[(f+1)&3];
}
}
return p;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |