Submission #1185579

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

string solve(string x, string y, string z, string k, int N) {
    while (k.size() < N - 1) {
        int sz = k.size();
        string temp = k + x + x + k + x + y + k + x + z + k + y;
        int res = press(temp);

        if (res == sz) {
            k += z;
        } else if (res == sz + 1) {
            k += y;
        } else if (res == sz + 2) {
            k += x;
        } else {
            // Defensive exit in case of unexpected press result
            exit(1);
        }
    }
    
    string temp = k + x;
        if (press(temp) == N) {
            return temp;
        }
    temp = k + y;
        if (press(temp) == N) {
            return temp;
        }
    return (k+z);
    return "";
}

string guess_sequence(int N) {
    string ans;

    if (press("AB") >= 1) {
        if (press("A") == 1) {
            ans = solve("X", "Y", "B", "A", N);
        } else {
            ans = solve("X", "Y", "A", "B", N);
        }
    } else {
        if (press("X") == 1) {
            ans = solve("B", "Y", "A", "X", N);
        } else {
            ans = solve("X", "B", "A", "Y", N);
        }
    }

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