Submission #1031518

#TimeUsernameProblemLanguageResultExecution timeMemory
1031518ArthuroWichCombo (IOI18_combo)C++17
97 / 100
19 ms1784 KiB
#include "combo.h"
#include<bits/stdc++.h>
using namespace std;
string guess_sequence(int n) {
    string s;
    int v;
    v = press("AB");
    if (v == 2) {
        s = "AB";
    } else if (v == 1) {
        v = press("A");
        if (v == 1) {
            s = "A";
        } else {
            s = "B";
        }
    } else {
        v = press("XY");
        if (v == 2) {
            s = "XY";
        } else {
            v = press("X");
            if (v == 1) {
                s = "X";
            } else {
                s = "Y";
            }
        }
    }
    if (n == 1) {
        return s;
    } else if (s.length() == n) {
        return s;
    }
    vector<string> alp;
    for (char c : "ABXY") {
        if (c != s[0]) {
            string t = "";
            t.push_back(c);
            alp.push_back(t);
        }
    }
    string s1;
    for (int i = s.length(); i < n; i++) {
        if (i != n-1) {
            s1 = s+alp[1]+s+alp[2]+alp[0]+s+alp[2]+alp[1]+s+alp[2]+alp[2];
            v = press(s1);
            if (v == s.length()) {
                s += alp[0];
            } else if (v == s.length()+1) {
                s += alp[1];
            } else {
                s += alp[2];
            }
        } else {
            s1 = s+alp[1]+s+alp[2];
            v = press(s1);
            if (v == s.length()) {
                s += alp[0];
            } else {
                s1 = s+alp[2];
                v = press(s1);
                if (v == s.length()) {
                    s += alp[1];
                } else {
                    s += alp[2];
                }
            }
        }
    }
    return s;
}

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:32:27: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   32 |     } else if (s.length() == n) {
      |                ~~~~~~~~~~~^~~~
combo.cpp:48:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |             if (v == s.length()) {
      |                 ~~^~~~~~~~~~~~~
combo.cpp:50:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |             } else if (v == s.length()+1) {
      |                        ~~^~~~~~~~~~~~~~~
combo.cpp:58:19: 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 (v == s.length()) {
      |                 ~~^~~~~~~~~~~~~
combo.cpp:63:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |                 if (v == s.length()) {
      |                     ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...