#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
string p = ""; //<-- questions
string s = ""; //<-- correct
// Get first letter;
char first;
if(press("AB")){
if(press("A")) first = 'A';
else first = 'B';
}else{
if(press("X")) first = 'X';
else first = 'Y';
}
s += first;
if(N == 1) return s;
// Get middle letters
vector<char> letters;
for(char c : {'A', 'B', 'X', 'Y'}){
if(c != first) letters.push_back(c);
}
for(int i = 1; i < N - 1; i++){
p = "";
for(int j = 0; j < letters.size() - 1; j++){
char newChar = letters[j];
if(j == 0){
p += s;
p += newChar;
}
if(j == 1){
for(auto c : letters){
p += s;
p += newChar;
p += c;
}
}
}
const int coins = press(p);
if(coins == s.size()){
s += letters[2];
}else if(coins == s.size() + 1){
s += letters[0];
}else if(coins == s.size() + 2){
s += letters[1];
}
}
//Get last letter
char last;
if(press(s + "A" + s + "B") == 1 + s.size()){
if(press(s + "A") == 1 + s.size()) last = 'A';
else last = 'B';
} else{
if(press(s + "X") == 1 + s.size()) last = 'X';
else last = 'Y';
}
s += last;
return s;
}
// #include "grader.cpp"
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |