#include "combo.h"
#include<bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
if(N==1){
string s1 = "A";
if(press(s1)==1) return s1;
string s2 = "B";
if(press(s2)==1) return s2;
string s3 = "X";
if(press(s3)==1) return s3;
return "Y";
}
string s1 = "AB";
string s2 = "XY";
char init;
int a1 = press(s1);
if(a1 == 2) init = 'A';
if(a1 == 1) {
string s3 = "B";
int a3 = press(s3);
if(a3) init = 'B';
} else {
string s4 = "X";
int a4 = press(s4);
if(a4) init = 'X';
else init = 'Y';
}
string S(N, init);
string last = "";
last += init;
set<char> st;
st.insert('A');
st.insert('B');
st.insert('X');
st.insert('Y');
st.erase(init);
char c[3];
int ptr = 0;
for(auto &ch : st) {
c[ptr++] = ch;
}
for(int i = 1; i+1 < N; i++) {
string Q;
Q += last;
Q += c[0];
Q += last;
Q += c[1];
Q += c[0];
Q += last;
Q += c[1];
Q += c[1];
Q += last;
Q += c[1];
Q += c[2];
int res = press(Q);
if(res == last.size()+1){
S[i] = c[0];
last += c[0];
}else if(res == last.size()+2){
S[i] = c[1];
last += c[1];
}else{
S[i] = c[2];
last += c[2];
}
}
string Q = last + c[0];
int res = press(Q);
if(res == last.size()+1){
S[N-1] = c[0];
}else{
Q = last + c[1];
res = press(Q);
if(res == last.size()+1){
S[N-1] = c[1];
}else{
S[N-1] = c[2];
}
}
return S;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |