제출 #254433

#제출 시각아이디문제언어결과실행 시간메모리
25443379brue콤보 (IOI18_combo)C++14
0 / 100
1 ms200 KiB
#include <bits/stdc++.h>
#include "combo.h"

using namespace std;

string guess_sequence(int n){
    string s;
    int A = press("AB");
    int B = press("XY");
    if(A == 1) s.push_back('B');
    else if(A == 2) s.push_back('A');
    else if(B == 1) s.push_back('Y');
    else s.push_back('X');

    vector<string> lft;
    if(s[0] != 'A') lft.push_back("A");
    if(s[0] != 'B') lft.push_back("B");
    if(s[0] != 'X') lft.push_back("X");
    if(s[0] != 'Y') lft.push_back("Y");

    for(int i=2; i<n; i++){
        string queryStr;

        queryStr += s;
        queryStr += lft[0] + lft[0];
        queryStr += s;
        queryStr += lft[0] + lft[1];
        queryStr += s;
        queryStr += lft[0] + lft[2];
        queryStr += s;
        queryStr += lft[1];

        int tmp = press(queryStr);
        if(tmp == i+1) s.push_back(lft[0][0]);
        else if(tmp == i) s.push_back(lft[1][0]);
        else s.push_back(lft[2][0]);
    }

    s.push_back(lft[0][0]);
    if(press(s) == n) return s;
    s.back() = lft[1][0];
    if(press(s) == n) return s;
    s.back() = lft[2][0];
    return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...