제출 #1311345

#제출 시각아이디문제언어결과실행 시간메모리
1311345nikoloz-ch콤보 (IOI18_combo)C++20
0 / 100
1 ms400 KiB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;

string guess_sequence(int N){
    string s, s1, s2, s3;
    int k = press("AB");
    if(k == 2){
        s += "A";
    } else if(k == 1){
        k = press("A");
        if(k) s += "A";
        else s += "B";
    } else{
        k = press("X");
        if(k == 2) s += "X";
        else s += "Y";
    }
    int lst = 1;
    if(s == "Y"){
        s1 = "A";
        s2 = "B";
        s3 = "X";
    } else if(s == "X"){
        s1 = "A";
        s2 = "B";
        s3 = "Y";
    } else if(s == "B"){
        s1 = "A";
        s2 = "X";
        s3 = "Y";
    } else{
        s1 = "B";
        s2 = "X";
        s3 = "Y";
    }
    for(int i = 1; i < N-1; i++){
        string a, b, c, d, e;
        a = s; a += s1; a += s1; b = s; b+= s1; b += s2; c = s; c += s1; c += s3; d = s; d += s2;
        e += a; e += b; e += c; e += d;
        int tp = press(e);
        if(tp == lst+1){
            s += s2;
        } else if(tp == lst){
            s += s3;
        } else {
            s += s1;
        }
        lst++;
    }
    if(lst == N-1){
        string st = s+s1;
        int t = press(st);
        if(t == N) s = st;
        else{
            st = s + s2;
            t = press(st);
            if(t == N) s = st; else s += s3;
        }
    }
 	return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...