Submission #1021294

#TimeUsernameProblemLanguageResultExecution timeMemory
1021294AishaCombo (IOI18_combo)C++17
0 / 100
0 ms344 KiB
#include "combo.h"

#include <bits/stdc++.h>

using namespace std;

std::string guess_sequence(int N) {
    string s = "";
    string p = "AB";
    int coins = press(p);
    if (coins == 1) {
        p = "A";
        coins = press(p);
        if (coins == 1) s = "A";
        else s = "B";
    } else {
        p = "X";
        coins = press(p);
        if (coins == 1) s = "X";
        else s = "Y";
    }

    string A = "ABXY";
    string a = "";

    for (char c : A) {
        if (s[0] != c) a = a + c;
    }

    coins = 1;
    while (s.size() < N - 1) {
        p = "";
        for (int i = 0; i < 4; i++) {
            p = p + s;
            if (i < 3) {
                p = p + a[0];
                p = p + a[i];
            } else p = p + a[1];
        }
    
        int k = press(p) - s.size();
        if (k == 2) {
            s += a[0];
        } else if (k == 1) {
            s += a[1];
        } else {
            s += a[2];
        }
    }
    
    p = s;
    p += a[0];
    p += s;
    p += a[1];
    int k = press(p) - s.size();
    if (k == 1) {
        p = s;
        p += a[0];
        if (press(p) == 1) {
            s += a[0];
        } else s += a[1];
    } else s += a[2];

    return s;
}

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:31:21: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   31 |     while (s.size() < N - 1) {
      |            ~~~~~~~~~^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...