Submission #715618

#TimeUsernameProblemLanguageResultExecution timeMemory
715618adrilenCombo (IOI18_combo)C++17
5 / 100
1 ms208 KiB
#include<bits/stdc++.h>
#include "combo.h"

using namespace std;
using ll = long long;
typedef pair<int, int> pii;



string guess_sequence(int n)
{
    string output;
    vector <string> letters = { "A", "B", "X", "Y" };
    
    string mark;

    if (press("AB") > 0) 
    {
        if (press("A")) mark = "A";
        else mark = "B";
    } else {
        if (press("X")) mark = "X";
        else mark = "Y";
    }
    
    if (n == 1) return mark;


    for (int i = 0; i < n; i++) {
        if (letters[i] == mark) {
            letters.erase(letters.begin() + i);
            break;
        }
    }

    output += mark;
    size_t val;
    for (int i = 0; i < n - 2; i++)
    {
        val = press(output + letters[1] + output + letters[2] + letters[0] + output + letters[2] + letters[1] + output + letters[2] + letters[2]);

        if (val == output.size()) output += letters[0];
        else if (val == output.size() + 1) output += letters[1];
        else output += letters[2];
    }

    if (press(output + letters[0] + output + letters[1]) > (int)output.size())
    {
        if (press(output + letters[0]) > (int)output.size()) output += letters[0];
        else output += letters[1]; 
    } else {
        output += letters[2];
    }

    return output;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...