#include "combo.h"
#include <iostream>
int loop = 0;
std::string guess_sequence(int N) {
int currentCoins = 1;
char startsq = 0;
char currentsq = 0;
char othersq = 0;
char lastsq = 0;
std::string s = "ABXY";
if(press("AB"))
if(press("B"))startsq='B';
else startsq='A';
if(press("XY"))
if(press("Y"))startsq='Y';
else startsq='X';
std::string guess_str1;
guess_str1.assign(N,startsq);
std::string guess_str2;
guess_str2.assign(N,startsq);
for(auto cs:s){
if(cs!=startsq&¤tsq!=0&&othersq!=0){
lastsq=cs;
break;
}
if(cs!=startsq&¤tsq!=0&&lastsq==0){
othersq=cs;
}
if(cs!=startsq&&othersq==0){
currentsq=cs;
}
//std::cout << startsq << ' '<< lastsq << ' ' << currentsq << ' ' << othersq<< '\n';
}
for(int i=1;i<N-1;i++){
guess_str2=guess_str1;
guess_str1[i]=currentsq;
guess_str2[i]=othersq;
std::string guess_str3 = guess_str2;
std::string guess_str4 = guess_str2;
guess_str2[i+1]=lastsq;
guess_str3[i+1]=currentsq;
guess_str4[i+1]=othersq;
int newC = press(guess_str1+guess_str2+guess_str3+guess_str4);
if(newC==i){
guess_str1[i]=lastsq;
}
if(newC==i+1){
guess_str1[i]=currentsq;
}
if(newC==i+2){
guess_str1[i]=othersq;
}
//std::cout << guess_str1 << ' ' << lastsq << ' ' << currentsq << ' ' << othersq<< '\n';
}
guess_str1[N-1]=lastsq;
if(press(guess_str1)==N)return guess_str1;
guess_str1[N-1]=currentsq;
if(press(guess_str1)==N)return guess_str1;
guess_str1[N-1]=othersq;
return guess_str1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |