Submission #933344

# Submission time Handle Problem Language Result Execution time Memory
933344 2024-02-25T14:27:23 Z SulA Combo (IOI18_combo) C++17
5 / 100
1 ms 344 KB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;

string guess_sequence(int n) {
    string s;
    vector<char> a;
    a.push_back('A');
    a.push_back('B');
    a.push_back('X');
    a.push_back('Y');

    int x = press("AB");
    if (x == 2) s += "AB";
    else if (x == 1) {
        s = (press("A") == 1 ? "A" : "B");
    }
    else {
        s = (press("X") == 1 ? "X" : "Y");
    }
    if (n == 1) return s;

    auto first = find(a.begin(), a.end(), s[0]);
    a.erase(first);
    for (int i = s.size(); i < n-1; i++) {
        x = press(s + a[0] + s + a[1] + a[0] + s + a[1] + a[1] + s + a[1] + a[2]);
        if (x == s.size()) s += a[2];
        else if (x == s.size() + 1) s += a[0];
        else s += a[1];
    }

    x = press(s + a[0]);
    if (x > s.size()) return s + a[0];
    else if (press(s + a[1]) > s.size()) return s + a[1];
    return s + a[2];

}

Compilation message

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:27:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |         if (x == s.size()) s += a[2];
      |             ~~^~~~~~~~~~~
combo.cpp:28:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |         else if (x == s.size() + 1) s += a[0];
      |                  ~~^~~~~~~~~~~~~~~
combo.cpp:33:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |     if (x > s.size()) return s + a[0];
      |         ~~^~~~~~~~~~
combo.cpp:34:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |     else if (press(s + a[1]) > s.size()) return s + a[1];
      |              ~~~~~~~~~~~~~~~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 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 0 ms 344 KB Output is correct
12 Correct 0 ms 344 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 1 ms 344 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 0 ms 344 KB Output is correct
20 Correct 0 ms 344 KB Output is correct
21 Correct 0 ms 344 KB Output is correct
22 Correct 0 ms 344 KB Output is correct
23 Correct 0 ms 344 KB Output is correct
24 Correct 0 ms 344 KB Output is correct
25 Correct 0 ms 344 KB Output is correct
26 Correct 0 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 344 KB Output is correct
32 Correct 0 ms 344 KB Output is correct
33 Correct 0 ms 344 KB Output is correct
34 Correct 0 ms 344 KB Output is correct
35 Correct 0 ms 344 KB Output is correct
36 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 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 Incorrect 0 ms 344 KB Wrong Answer: wrong guess.
6 Halted 0 ms 0 KB -