#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
//#define int long long
#define OYY LLONG_MAX
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define fi first
#define se second
#define FOR for(int i=1;i<=n;i++)
#define mid (start+end)/2
#define pb push_back
#define lim 400005
const int mod=1000000007;
char dizi[4]={'A','B','X','Y'};
//~ inline int press(string s){
//~ cout<<s<<endl;
//~ int x;cin>>x;
//~ return x;
//~ }
std::string guess_sequence(int N) {
int n=N;
string cev="";
if(press("AB")){
if(press("A"))cev+='A';
else{
cev+='B';
swap(dizi[0],dizi[1]);
}
}
else{
if(press("X")){
cev+='X';
swap(dizi[0],dizi[2]);
}
else{
cev+='Y';
swap(dizi[0],dizi[3]);
}
}
if(n==1){
return cev;
}
for(int i=2;i<=n-1;i++){
string sor="";
for(int j=1;j<=3;j++){
sor+=cev;
sor+=dizi[1];
sor+=dizi[j];
}
sor+=cev;
sor+=dizi[2];
int tut=press(sor);
if(tut==i+1){
cev+=dizi[1];
}
else if(tut==i){
cev+=dizi[2];
}
else{
cev+=dizi[3];
}
}
if(press(cev+dizi[1]+cev+dizi[2])==n){
if(press(cev+dizi[1])==n){
return cev+dizi[1];
}
return cev+dizi[2];
}
else{
return cev+dizi[3];
}
}
//~ int32_t main(){
//~ faster
//~ int n;cin>>n;
//~ cout<<guess_sequence(n)<<'\n';
//~ return 0;
//~ }
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |