제출 #1347471

#제출 시각아이디문제언어결과실행 시간메모리
1347471eli콤보 (IOI18_combo)C++20
5 / 100
0 ms412 KiB
#include "combo.h"
#include<bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
    string p = "AB";
    char m[3];

    int a = press(p), len = 1;
    if(a > 0){
        p = "A";
        a = press(p);
        if(a > 0){
            m[0] = 'B';
            m[1] = 'Y';
            m[2] = 'X';
        }else{
            p = 'B';
            m[0] = 'A';
            m[1] = 'Y';
            m[2] = 'X';
        }
    }else{
        m[0] = 'A';
        m[1] = 'B';

        p = "X";
        a = press(p);
        if(a > 0) m[2] = 'Y';
        else{
            p = 'Y';
            m[2] = 'X';
        }
    }

    string S;
    for(int i = 2; i < N; i++){
        S = p;
        S.push_back(m[0]);
        S += p;
        S.push_back(m[1]);
        S.push_back(m[0]);
        S += p;
        S.push_back(m[1]);
        S.push_back(m[1]);
        S += p;
        S.push_back(m[1]);
        S.push_back(m[2]);
        a = press(S);

        if(a - len == 0) p.push_back(m[2]);
        else if(a - len == 1) p.push_back(m[0]);
        else p.push_back(m[1]);
        len ++;
    }
    S = p;
    S.push_back(m[0]);
    S += p;
    S.push_back(m[1]);
    a = press(S);
    if(a - len == 0) p.push_back(m[2]);
    else{
        S = p;
        S.push_back(m[0]);
        a = press(S);
        if(a - len == 1) p.push_back(m[0]);
        else p.push_back(m[1]);
    }
    return p;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...