제출 #645573

#제출 시각아이디문제언어결과실행 시간메모리
645573NursikCombo (IOI18_combo)C++14
컴파일 에러
0 ms0 KiB
#include "combo.h"
#include <random>
#include <iostream>

using namespace std;

#define ll long long
#define pb push_back
const ll maxn = 2e3 + 1;

vector<char> v = {'A', 'B', 'X', 'Y'};
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
string guess_sequence(int n) {
    string pref = "";
    int get = press("AB");
    if (get > 0){
        get = press("A");
        if (get == 1){
            pref += "A";
        }
        else{
            pref += "B";
        }
    }
    else{
        get = press("X");
        if (get == 1){
            pref += "X";
        }
        else{
            pref += "Y";
        }
    }
    vector<char> v2;
    for (auto it : v){
        if (it != pref[0]){
            v2.pb(it);
        }
    }
    for (int i = 2; i <= n; ){
        if (i == n){
            string npref = pref + v2[0] + pref + v2[1];
            get = press(npref) - i + 1;
            if (get == 1){
                npref = pref + v2[0];
                get = press(npref) - i + 1;
                if (get == 1){
                    pref += v2[0];
                }
                else{
                    pref += v2[1];
                }
            }
            else{
                pref += v2[2];
            }
            break;
        }
        string npref = pref + v2[0] + v2[0] + pref + v2[1] + v2[1] + pref + v2[0] + v2[1];
        get = press(npref);
        int kol = get - i + 1;
        if (kol == 2){
            npref = pref + v2[0] + v2[0];
            get = press(npref);
            int kol2 = get - i + 1;
            if (kol2 == 2){
                pref += v2[0];
                pref += v2[0];
                i += 1;
                i += 1;
            }
            else if (kol2 == 1){
                pref += v2[0];
                pref += v2[1];
                i += 1;
                i += 1;
            }
            else{
                pref += v2[1];
                pref += v2[1];
                i += 1;
                i += 1;
            }
        }
        else if (kol == 1){
            npref = pref + v2[1] + v2[2];
            get = press(npref);
            int kol2 = get - i + 1;
            if (kol2 == 2){
                pref += v2[1];
                pref += v2[2];
                i += 1;
                i += 1;
            }
            else if (kol2 == 1){
                pref += v2[1];
                pref += v2[0];
                i += 1;
                i += 1;
            }
            else{
                pref += v2[0];
                pref += v2[2];
                i += 1;
                i += 1;
            }
        }
        else{
            pref += v2[2];
            i += 1;
        }
    }
    return pref;
}

컴파일 시 표준 에러 (stderr) 메시지

combo.cpp:12:13: error: 'chrono' has not been declared
   12 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
      |             ^~~~~~