#include "combo.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long
// int press(string p)
char bin_search(string curr, int len){
if (press(curr + "A" + curr + "B") > len) {
if (press(curr + "A") > len) return 'A';
return 'B';
}
if (press(curr + "X") > len) return 'X';
return 'Y';
}
string guess_sequence(int N){
string curr = "";
char start = bin_search(curr, 0);
curr += start;
if (N == 1) return curr;
// main code start
for (int i=0; i<N-2; i++) {
if (start == 'A') {
int res = press(curr + 'X' + curr + "BX" + curr + "BY" + curr + "BB");
if (res == 0) curr += 'Y';
else if (res == 1) curr += 'X';
else curr += 'B';
}
else if (start == 'B') {
int res = press(curr + 'X' + curr + "AX" + curr + "AY" + curr + "AA");
if (res == 0) curr += 'Y';
else if (res == 1) curr += 'X';
else curr += 'A';
}
else if (start == 'X') {
int res = press(curr + 'Y' + curr + "BA" + curr + "BY" + curr + "BB");
if (res == 0) curr += 'A';
else if (res == 1) curr += 'Y';
else curr += 'B';
}
else {
int res = press(curr + 'X' + curr + "BX" + curr + "BA" + curr + "BB");
if (res == 0) curr += 'A';
else if (res == 1) curr += 'X';
else curr += 'B';
}
}
// main code end
curr += bin_search(curr, N-1);
return curr;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |