#pragma GCC optimize("O3")
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
#include <bits/stdc++.h>
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
using namespace std;
int press(string s);
const char c[] = {'A','B','X','Y'};
int ask(string s) {return press(s);}
int ask1(string s) {
int n = s.length();
return ask(s+c[0]) == n+1 ? 0 : ask(s+c[1]) == n+1 ? 1 : ask(s+c[2]) == n+1 ? 2 : 3;
}
string guess_sequence(int n) {
string s = "";
if (n == 1) return string(1, c[ask1(s)]);
int idx[4], id = ask1(s);
iota(idx,idx+4,0), s += c[id], swap(idx[id],idx[3]);
for (int i = 1; i < n-1; i++) {
string temp = s + c[idx[0]] + s + c[idx[0]] + c[idx[1]] + s + c[idx[0]] + c[idx[2]];
int len = ask(temp);
s += len == i+2 ? c[idx[1]] : len == i+1 ? c[idx[0]] : c[idx[2]];
}
return n > 1 ? s + (ask(s + c[idx[0]]) == n ? c[idx[0]] : ask(s + c[idx[1]]) == n ? c[idx[1]] : c[idx[2]]) : s;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |