Submission #964577

# Submission time Handle Problem Language Result Execution time Memory
964577 2024-04-17T06:49:47 Z fve5 Combo (IOI18_combo) C++17
5 / 100
1 ms 356 KB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;

array<char, 3> order(char fst) {
    switch (fst) {
    case 'A': return {'B', 'X', 'Y'};
    case 'B': return {'A', 'X', 'Y'};
    case 'X': return {'A', 'B', 'Y'};
    case 'Y': return {'A', 'B', 'X'};
    }
}

string guess(int N, char fst) {
    string curr(1, fst);
    auto [x, y, z] = order(fst);
    
    for (int i = 1; i < N - 1; i++) {
        string query = (curr + x + x) + (curr + x + y) + (curr + x + z) + (curr + y);
        
        switch (press(query) - i) {
        case 0: curr += z; break;
        case 1: curr += y; break;
        case 2: curr += x; break;
        }
    }

    if (press(curr + x) == N)
        return curr + x;
    if (press(curr + y) == N)
        return curr + y;
    return curr + z;
}

string guess_sequence(int N) {
    if (press("AB") != 0) {
        if (press("A") != 0)
            return guess(N, 'A');
        else
            return guess(N, 'B');
    } else {
        if (press("X"))
            return guess(N, 'X');
        else
            return guess(N, 'Y');
    }
}

Compilation message

combo.cpp: In function 'std::array<char, 3> order(char)':
combo.cpp:12:1: warning: control reaches end of non-void function [-Wreturn-type]
   12 | }
      | ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 0 ms 344 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 1 ms 352 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 0 ms 344 KB Output is correct
16 Correct 0 ms 344 KB Output is correct
17 Correct 0 ms 344 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 1 ms 344 KB Output is correct
20 Correct 1 ms 344 KB Output is correct
21 Correct 0 ms 344 KB Output is correct
22 Correct 0 ms 356 KB Output is correct
23 Correct 0 ms 344 KB Output is correct
24 Correct 0 ms 344 KB Output is correct
25 Correct 1 ms 344 KB Output is correct
26 Correct 1 ms 344 KB Output is correct
27 Correct 0 ms 344 KB Output is correct
28 Correct 0 ms 344 KB Output is correct
29 Correct 0 ms 344 KB Output is correct
30 Correct 0 ms 344 KB Output is correct
31 Correct 0 ms 352 KB Output is correct
32 Correct 0 ms 344 KB Output is correct
33 Correct 1 ms 352 KB Output is correct
34 Correct 0 ms 344 KB Output is correct
35 Correct 1 ms 344 KB Output is correct
36 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 344 KB Wrong Answer: wrong guess.
2 Halted 0 ms 0 KB -