This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "combo.h"
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int vpress(string a){
int val = press(a);
// cout << "try - " << a << " - " << val << endl;
return val;
}
string guess_sequence(int N) {
string ans = "";
vector<char> possible = {'A','B','X','Y'};;
if(vpress("AB") >= 1){
if(vpress("A") == 1){
ans = "A";
possible.erase(possible.begin()+0);
}else{
ans = "B";
possible.erase(possible.begin()+1);
}
}else{
if(vpress("X") == 1){
ans = "X";
possible.erase(possible.begin()+2);
}else{
ans = "Y";
possible.erase(possible.begin()+3);
}
}
if(N == 1)
return ans;
int counter = 1;
while(counter < N){
int val1 = vpress(ans+string(N-counter,possible[0]) + ans+string(N-counter,possible[1]));
int val2 = vpress(ans+string(N-counter,possible[0]) + ans+string(N-counter,possible[2]));
if(val1 > counter and val2 > counter){
ans = ans + string(val1-counter,possible[0]);
counter = val1;
}else if(val1 > counter){
ans = ans + string(val1-counter,possible[1]);
counter = val1;
}else if(val2 > counter){
ans = ans + string(val2-counter,possible[2]);
counter = val2;
}
// cout << "ans -> " << ans << endl;
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |