Submission #1195706

#TimeUsernameProblemLanguageResultExecution timeMemory
1195706Cebrayil09콤보 (IOI18_combo)C++20
0 / 100
3 ms408 KiB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;

#define pb push_back

int press(string s);

string guess_sequence(int n) {
    vector<string> v = {"A", "B", "X", "Y"};
    string s;

    if(press("AB")) {
        if(press("A")) {
            s = "A";
            swap(v[0], v[3]);
        }
        else {
            s = "B";
            swap(v[1], v[3]);
        }
    }
    else {
        if(press("X")) {
            s = "X";
            swap(v[2], v[3]);
        }
        else {
            s = "Y";
        }
    }
    v.pop_back();

    for(int i = 1;i < n-1;i += 2) {
        string test = s + v[0] + v[0] + s + v[1] + v[0];
        int say = press(test);
        if(say == i+2) {
            if(press(s+v[0]+v[0]) == i+2) {
                s = s + v[0] + v[0];
                continue;
            }

            s = s + v[1] + v[0];
            continue;
        }
        if(say == i+1) {
            if(press(s + v[0] + v[2]) == i+2) {
                s = s + v[0] + v[2];
                continue;
            }

            s = s + v[1] + v[2];
            continue;
        }
        if(say == i) {
            if(press(s + v[2] + v[0]) == i+2) {
                s = s + v[2] + v[0];
                continue;
            }
            if(press(s + v[2] + v[1]) == i+2) {
                s = s + v[2] + v[1];
                continue;
            }

            s = s + v[2] + v[2];
            continue;
        }
    }

    if(s.size() == n-1) {
        if(press(s+v[0]) == n) {
            s += v[0];
        }
        else if(press(s+v[1]) == n) {
            s += v[1];
        }
        else s += v[2];
    }
    return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...