Submission #675767

#TimeUsernameProblemLanguageResultExecution timeMemory
675767GGOSHABCombo (IOI18_combo)C++14
30 / 100
52 ms440 KiB
#include <iostream>
#include <vector>
#include "combo.h"

#define PI 3.14159265359

using namespace std;

typedef long long ll;
typedef unsigned long long ull;

typedef vector<int> bigInt;

const ull INF = -1;

string guess_sequence(int n) {
    string ans;
    ans.reserve(n);
    if (press("AB")) {
        if (press("A"))
            ans.push_back('A');
        else
            ans.push_back('B');
    }
    else {
        if (press("X"))
            ans.push_back('X');
        else
            ans.push_back('Y');
    }

    char ex = ans[0];
    string t, letters = "ABXY", tl;

    for (char c : letters)
        if (c != ex)
            tl.push_back(c);


    t.reserve(4 * n);
    for (int i = 2; i <= n; ++i) {
        t = "";
        t.reserve(4 * n);
        for (int i = 0; i < 3; ++i) {
                t += ans;
                t.push_back(tl[i]);
        }
        int size = t.length() / 3;
        if (press(t.substr(0, size << 1)) == i) {
            if (press(t.substr(0, size)) == i)
                ans.push_back(tl[0]);
            else
                ans.push_back(tl[1]);
        }
        else {
            ans.push_back(tl[2]);
        }
    }

    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...