Submission #1215045

#TimeUsernameProblemLanguageResultExecution timeMemory
1215045takoshanavaCombo (IOI18_combo)C++20
0 / 100
0 ms408 KiB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;

string guess_sequence(int n) {
    string ans = "";
    int x = press("AB");
    if (x == 2) {
        ans += "AB";
    } else if (x == 1) {
        int y = press("A");
        if (y == 1) ans += 'A';
        else ans += 'B';
    } else {
        int y = press("X");
        if (y == 1) ans += 'X';
        else ans += 'Y';
    }

    if (n == 1) return ans;

    char a, b, c;
    if (ans[0] == 'A') a = 'B', b = 'X', c = 'Y';
    if (ans[0] == 'B') a = 'A', b = 'X', c = 'Y';
    if (ans[0] == 'X') a = 'B', b = 'A', c = 'Y';
    if (ans[0] == 'Y') a = 'B', b = 'X', c = 'A';

    while (ans.size() < n - 1) {
        string s = ans;
        int N = s.size();
        int y = press(s + a + a + s + a + b + s + a + c + s + c);
        if (y == N + 2) ans += a;
        else if (y == N + 1) ans += b;
        else ans += c;
    }

    if (press(ans + a) == n) ans += a;
    else if (press(ans + b) == n) ans += b;
    else ans += c;

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