제출 #685878

#제출 시각아이디문제언어결과실행 시간메모리
685878grossly_overconfident콤보 (IOI18_combo)C++14
0 / 100
2 ms252 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
    vector<char> letter;
    string result;
    if (press("AB") != 0) {
        if (press("A") == 1) {
            result = "A";
            letter = { 'B', 'X', 'Y' };
        }
        else {
            result = "B";
            letter = { 'A', 'X', 'Y' };
        }
    }
    else {
        if (press("X") == 1) {
            result = "X";
            letter = { 'B', 'A', 'Y' };
        }
        else {
            result = "Y";
            letter = { 'B', 'X', 'A' };
        }
    }
    while (result.size() < N) {
        if (result.size() == N - 1) {
            if (press(result + letter[0]) > result.size()) {
                result += letter[0];
            }
            else if (press(result + letter[1]) > result.size()) {
                result += letter[1];
            }
            else {
                result += letter[2];
            }
        }
        else{
            int outcome = press(result + letter[0] + letter[1] + result + letter[1] + letter[0]);
            if (outcome == result.size()) {
                result += letter[2];
            }
            else if (outcome == result.size() + 2) {
                if (press(result + letter[0] + letter[1]) == result.size()) {
                    result += letter[1] + letter[0];
                }
                else {
                    result += letter[0] + letter[1];
                }
            }
            else {
                if (press(result + letter[0] + letter[2]) == result.size()) {
                    result += letter[1] + letter[2];
                }
                else {
                    result += letter[0] + letter[2];
                }
            }
        }
    }
    return result;
}

컴파일 시 표준 에러 (stderr) 메시지

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:27:26: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   27 |     while (result.size() < N) {
      |            ~~~~~~~~~~~~~~^~~
combo.cpp:28:27: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   28 |         if (result.size() == N - 1) {
      |             ~~~~~~~~~~~~~~^~~~~~~~
combo.cpp:29:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |             if (press(result + letter[0]) > result.size()) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
combo.cpp:32:48: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |             else if (press(result + letter[1]) > result.size()) {
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
combo.cpp:41:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |             if (outcome == result.size()) {
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~
combo.cpp:44:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |             else if (outcome == result.size() + 2) {
      |                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~
combo.cpp:45:59: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |                 if (press(result + letter[0] + letter[1]) == result.size()) {
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
combo.cpp:53:59: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |                 if (press(result + letter[0] + letter[2]) == result.size()) {
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...