Submission #1331628

#TimeUsernameProblemLanguageResultExecution timeMemory
1331628TroySerCombo (IOI18_combo)C++17
0 / 100
1 ms420 KiB
#include <bits/stdc++.h>
#include "combo.h"

using namespace std;
using ll = long long;

string guess_sequence(int N) {

    string res = "";
    if (press("AB") == 1) {
        if (press("A") == 1) {
            res += "A";
        } else {
            res += "B";
        }
    } else {
        if (press("X") == 1) {
            res += "X";
        } else {
            res += "Y";
        }
    }
    
    string notFirst;
    for (ll i = 0; i < 4; i++) {
        if ("ABXY"[i] == res[0]) continue;
        notFirst.push_back("ABXY"[i]);
    }

    for (ll i = 1; i < N - 1; i++) {
        ll coins = press(res + notFirst[0] + res + notFirst[1] + notFirst[0] + res + notFirst[1] + notFirst[1] + res + notFirst[1] + notFirst[2]);
        if (coins == N) { // res + notFirst[2]
            res.push_back(notFirst[2]);
        } else if (coins == N + 1) { // res + notFirst[0]
            res.push_back(notFirst[0]);
        } else { // res + notFirst[1]
            res.push_back(notFirst[1]);
        }
    }

    if (press(res + "AB") == 1) {
        if (press(res + "A") == 1) {
            res += "A";
        } else {
            res += "B";
        }
    } else {
        if (press(res + "X") == 1) {
            res += "X";
        } else {
            res += "Y";
        }
    }

    cout << res << endl;

}

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:57:1: warning: no return statement in function returning non-void [-Wreturn-type]
   57 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...