#include "combo.h"
#include <bits/stdc++.h>
#define ios ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout)
#define all(a) a.begin() , a.end()
#define F first
#define S second
using namespace std;
using ll = long long;
const ll N = 1e6+5 , inf = 2e9 + 7 , block = 1000;
const ll INF = 1e18 , mod = 1e9+7;
string guess_sequence(int N) {
string s = "";
string s1 = "";
while(s.size() < N) s += "C";
int cur = press("AB");
if(cur == 2) {
s[0] = 'A' , s[1] = 'B' , s1 = "BXY";
} else if(cur == 1){
cur = press("A");
if(cur == 1) s[0] = 'A' , s1 = "BXY";
else s[0] = 'B' , s1 = "AXY";
} else {
cur = press("X");
if(cur == 1) s[0] = 'X' , s1 = "ABY";
else s[0] = 'Y' , s1 = "ABX";
}
while(1){
int pos = -1 , pos2 = -1;
for(int i = 0; i < s.size(); i++){
if(s[i] == 'C' && pos == -1) pos = i;
else if(s[i] == 'C'){
pos2 = i;
break;
}
}
if(pos == -1) break;
if(pos2 == -1){
for(int j = 0; j < 3; j++){
if(j == 2){
s[pos] = s1[j];
} else {
s[pos] = s1[j];
if(press(s) == s.size()) break;
}
}
continue;
} else {
string nw = "";
string nw2 = "";
string nw3 = "";
for(int i = 0; i <= pos2; i++){
nw += s[i];
nw2 += s[i];
nw3 += s[i];
}
nw[pos] = s1[0] , nw[pos2] = s1[2];
nw2[pos] = s1[1] , nw2[pos2] = s1[2];
nw3[pos] = s1[2] , nw3[pos2] = s1[2];
if(press(nw+nw2+nw3) == pos2+1){
s[pos2] = s1[2];
continue;
}
nw[pos2] = s1[1];
nw2[pos2] = s1[1];
int res = press(nw+nw2);
if(res == pos2+1){
s[pos2] = s1[1];
continue;
}
if(res == pos2){
s[pos2] = s1[0];
continue;
}
s[pos] = s1[2];
continue;
}
// cout << s << "\n";
// break;
}
return s;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |