# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
235714 | Hehehe | 콤보 (IOI18_combo) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "combo.h"
std::string guess_sequence(int N) {
std::string t = "";
char first, a[5];
//first letter
int p = press("AB"), k = 0, sz = 0;
if(p == 2){
t += "AB"; first = 'A'; sz = 2;
}else
if(p == 1){
int x = press("A");
if(x)t += "A";else t += "B";
sz = 1; first = t[0];
}else{
int x = press("X");
if(x)t += "X";else t += "Y";
sz = 1; first = t[0];
}
if (first != 'A') tr[k++] = 'A';
if (first != 'B') tr[k++] = 'B';
if (first != 'X') tr[k++] = 'X';
if (first != 'Y') tr[k++] = 'Y';
//middle
while (sz <= N - 2){
std::string temp = t + a[0] + a[0];
temp += t + a[0] + a[1];
temp += t + a[0] + a[2];
temp += t + a[1];
p = press(temp);
if (p - sz == 0) t += a[2];
else if (p - sz == 1) t += a[1];
else t += a[0];
sz++;
}
//end
//check end
if (sz == N - 1){
p = press(t + "A" + t + "B");
if (p == N){
p = press(t + "A");
if (p == N) t += "A";
else t += "B";
}else{
p = press(t + "X");
if (p == N) t += "X";
else t += "Y";
}
}
return t;
}