제출 #1248090

#제출 시각아이디문제언어결과실행 시간메모리
1248090exoworldgd콤보 (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#pragma GCC optimize("O3")
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
#include <bits/stdc++.h>
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
using namespace std;
int press(string s);
const char c[] = {'A','B','X','Y'};
int ask(string s) {return press(s);}
int ask1(string s) {
    int len = ask(s+c[0]+s+c[1]), idx = 2*(len < s.length()+1);
    return len = ask(s+c[idx]), idx + (len < s.length()+1);
}
string guess_sequence(int n) {
    string s = "";
    int idx[4];
    iota(idx,idx+4,0);
    int id = ask1(s);
    s += c[id], swap(idx[id], idx[3]);
    for (int i = 0; i < n-2; i++) {
        int len = ask(s+c[idx[0]]+c[idx[0]]+s+c[idx[0]]+c[idx[1]]+s+c[idx[0]]+c[idx[2]]+s+c[idx[1]]);
        s += len == i+3 ? c[idx[0]] : len == i+2 ? c[idx[1]] : c[idx[2]];
    }
    return n > 1 ? s + c[ask1(s)] : s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...