이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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... |