제출 #706044

#제출 시각아이디문제언어결과실행 시간메모리
706044mseebacher콤보 (IOI18_combo)C++17
컴파일 에러
0 ms0 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; string guess_sequence(int n) { string s = ""; vector<char> se = {'A','B','X','Y'}; if(press(se[0]+se[1])){ s = press(se[0]) ? se[0] : se[1]; }else{ s = press(se[2]) ? se[2] : se[3]; } se.erase(find(se.begin(),se.end(),s[0])); while(s.length() < n-1){ string zwischen = s+se[0]+se[0]+s+se[0]+se[1]+s+se[0]+se[2]+s+se[1]; int erg = press(zwischen); if(erg == s.length()+2){ s+=se[0]; }else if(erg == s.length()+1){ s+=se[1]; }else{ s+=se[2]; } } if(s.length() == n) return s; if(press(s+se[0]) == n) return s+se[0]; if(press(s+se[1]) == n) return s+se[1]; return s+se[2]; }

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:8:17: error: could not convert '(((int)se.std::vector<char>::operator[](0)) + ((int)se.std::vector<char>::operator[](1)))' from 'int' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
    8 |   if(press(se[0]+se[1])){
combo.cpp:9:19: error: could not convert 'se.std::vector<char>::operator[](0)' from '__gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type' {aka 'char'} to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
    9 |    s = press(se[0]) ? se[0] : se[1];
      |                   ^
      |                   |
      |                   __gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type {aka char}
combo.cpp:11:28: error: could not convert 'se.std::vector<char>::operator[](2)' from '__gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type' {aka 'char'} to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
   11 |             s = press(se[2]) ? se[2] : se[3];
      |                            ^
      |                            |
      |                            __gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type {aka char}
combo.cpp:15:20: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   15 |   while(s.length() < n-1){
      |         ~~~~~~~~~~~^~~~~
combo.cpp:18:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |   if(erg == s.length()+2){
      |      ~~~~^~~~~~~~~~~~~~~
combo.cpp:20:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |   }else if(erg == s.length()+1){
      |            ~~~~^~~~~~~~~~~~~~~
combo.cpp:26:19: 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.length() == n) return s;
      |        ~~~~~~~~~~~^~~~