Submission #1215059

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

string guess_sequence(int n) {
    string ans = "";
    int x = press("AB");
    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 = ans.size();
        int y = press(ans + a + a + ans + a + b + ans + a + c + ans + c);
        if (y == N + 2) ans += a;
        else if (y == N + 1) ans += c;
        else ans += b;
    }

    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...