#include <bits/stdc++.h>
#include "combo.h"
#define REP(i, a, b) for(int i = a; i<b; i++)
#define all(v) v.begin(), v.end()
#define i64 long long
using namespace std;
const i64 MOD = 1000000007;
string guess_sequence(int n){
//char a = 'A', b = 'B', x = 'X', y = 'Y';
vector<string> a = {"A", "B", "X", "Y"};
vector<string> c;
string s = "";
string f = "";
string test = "AB";
int ans = press(test);
if(ans == 0){
ans = press("X");
if(ans == 0){
s += 'Y';
f += 'Y';
}
else{
s += 'X';
f += 'X';
}
} else{
ans = press("A");
if(ans == 0){
s += 'B';
f += 'B';
}
else{
s += 'A';
f += 'A';
}
}
if(n==1)return s;
REP(i, 0, a.size()){
if(a[i] == f) continue;
c.push_back(a[i]);
}
string t = "";
while(s.size() < n-1){
t += s + c[1];
REP(i, 0, 3){
t += s + c[0] + c[i];
}
ans = press(t);
if(ans == s.size()){
s += c[2];
} else if(ans == s.size()+1){
s += c[1];
} else if(ans == s.size()+2){
s += c[0];
}
t.clear();
}
test = s + c[0];
ans = press(test);
if(ans == n){
s+=c[0];
return s;
}
test = s + c[1];
ans = press(test);
if(ans == n){
s+=c[1];
return s;
}
return s+c[2];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |