제출 #1007186

#제출 시각아이디문제언어결과실행 시간메모리
1007186GTA콤보 (IOI18_combo)C++17
0 / 100
0 ms356 KiB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
#define fr(m,n,k) for(int m=n;m<=k;m++)
#define sz size()
#define all(v) v.begin(), v.end()

int n;
string guess_sequence(int N) {
    n = N; string v = "ABXY"; string p, s; int a;

    p = "AB";
    int x = press(p);
    if (x) {
        p = "A"; int x = press(p);
        if (x == 1) a = 0;
        else a = 1;
    }
    else {
        p = "X"; int x = press(p);
        if (x == 1) a = 2;
        else a = 3;
    }
    s = v[a];
    if (n == 1) return s;

    vector<int> rem = {0, 1, 2, 3}; rem.erase(find(all(rem), a));
    fr(i, 2, n - 1) {
        p = "";
        for (auto z : rem) p += s, p += v[rem[0]], p += v[z];
        p += s, p += v[rem[1]];
        int x = press(p);
        if (x == i) {
            a = rem[2];
        }
        else if (x == i + 1) {
            a = rem[1];
        }
        else {
            a = rem[0];
        }
        s += v[a];
    }

    p = "AB";
    x = press(p);
    if (x >= 1) {
        p = "A"; int x = press(p);
        if (x == 1) a = 0;
        else a = 1;
    }
    else {
        p = "X"; int x = press(p);
        if (x == 1) a = 2;
        else a = 3;
    }
    s = v[a];
    return p;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...