제출 #849530

#제출 시각아이디문제언어결과실행 시간메모리
849530chilengaming콤보 (IOI18_combo)C++17
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h>
#include "combo.h"
using namespace std;

string guess_sequence(int N) {
    string s = "";
    int cur_size = 0;
    while(s.size() < N) {
        if(press[s + 'A'] > cur_size) {
            cur_size++;
            s = s + "A";
            continue;
        } else 
        if(press[s + 'B'] > cur_size) {
            cur_size++;
            s = s + "B";
            continue;
        } else 
        if(press[s + 'X'] > cur_size) {
            cur_size++;
            s = s + "X";
            continue;
        } else {
            cur_size++;
            s = s + "Y";
            continue;
        }
    }
    return s;
}

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:8:20: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    8 |     while(s.size() < N) {
      |           ~~~~~~~~~^~~
combo.cpp:9:17: error: no match for 'operator[]' (operand types are 'int(std::string)' {aka 'int(std::__cxx11::basic_string<char>)'} and 'std::__cxx11::basic_string<char>')
    9 |         if(press[s + 'A'] > cur_size) {
      |                 ^
combo.cpp:14:17: error: no match for 'operator[]' (operand types are 'int(std::string)' {aka 'int(std::__cxx11::basic_string<char>)'} and 'std::__cxx11::basic_string<char>')
   14 |         if(press[s + 'B'] > cur_size) {
      |                 ^
combo.cpp:19:17: error: no match for 'operator[]' (operand types are 'int(std::string)' {aka 'int(std::__cxx11::basic_string<char>)'} and 'std::__cxx11::basic_string<char>')
   19 |         if(press[s + 'X'] > cur_size) {
      |                 ^