Submission #116214

#TimeUsernameProblemLanguageResultExecution timeMemory
116214zubecCombo (IOI18_combo)C++14
100 / 100
54 ms568 KiB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;

std::string guess_sequence(int N) {
    string s;
    if (press("AB")){
        if (press("A"))
            s += 'A'; else
            s += 'B';
    } else {
        if (press("X"))
            s += 'X'; else
            s += 'Y';
    }
    vector <char> vec;
    if (s[0] != 'A')
        vec.push_back('A');
    if (s[0] != 'B')
        vec.push_back('B');
    if (s[0] != 'X')
        vec.push_back('X');
    if (s[0] != 'Y')
        vec.push_back('Y');
    while(s.size() < N){
        if (s.size()+1 == N){
            string cur = s;
            cur += vec[0];
            cur += s;
            cur += vec[1];
            if (press(cur) == N){
                cur = s;
                cur += vec[0];
                if (press(cur) == N){
                    s += vec[0];
                } else
                    s += vec[1];
            } else {
                s += vec[2];
            }
            break;
        }
        string cur = s;
        cur += vec[0];
        cur += s;
        cur += vec[1];
        cur += vec[0];
        cur += s;
        cur += vec[1];
        cur += vec[1];
        cur += s;
        cur += vec[1];
        cur += vec[2];
        int len = press(cur);
        if (len == s.size()){
            s += vec[2];
        } else
        if (len == s.size()+1)
            s += vec[0]; else
            s += vec[1];
    }
    return s;
}

Compilation message (stderr)

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