제출 #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) {
      |                 ^