제출 #705615

#제출 시각아이디문제언어결과실행 시간메모리
705615garyye콤보 (IOI18_combo)C++17
컴파일 에러
0 ms0 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; std::string guess_sequence(int N) { vector<char> c = {'A', 'B', 'X', 'Y'}; string f = ""; if(press("XY") > 0) { f = press("X") > 0 ? "X" : "Y"; } else { f = press("A") > 0 ? "A" : "B"; } c.erase(find(c.begin(), c.end(), f[0])); // A. -> 1 // BA. -> 2 // BB. -> 2 // BC. -> 2 // B. -> 1 // CA -> 2 // CB -> 2 for(int i = 1; i < N - 1; ++i) { string s = ""; s += f + c[0]; s += f + c[1] + c[0]; s += f + c[1] + c[1]; s += f + c[1] + c[2]; int g = guess_sequence(s); if(g == 0) f += c[2]; if(g == 1) f += c[0]; if(g == 2) f += c[1]; } // 2 + (N - 2) calls done if(guess_sequence(f + c[0]) == N) return f + c[0]; if(guess_sequence(f + c[1]) == N) return f + c[1]; return f + c[2]; }

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:33:32: error: cannot convert 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'int'
   33 |         int g = guess_sequence(s);
      |                                ^
      |                                |
      |                                std::string {aka std::__cxx11::basic_string<char>}
combo.cpp:6:32: note:   initializing argument 1 of 'std::string guess_sequence(int)'
    6 | std::string guess_sequence(int N) {
      |                            ~~~~^
combo.cpp:40:25: error: cannot convert 'std::__cxx11::basic_string<char>' to 'int'
   40 |     if(guess_sequence(f + c[0]) == N)  return f + c[0];
combo.cpp:6:32: note:   initializing argument 1 of 'std::string guess_sequence(int)'
    6 | std::string guess_sequence(int N) {
      |                            ~~~~^
combo.cpp:41:25: error: cannot convert 'std::__cxx11::basic_string<char>' to 'int'
   41 |     if(guess_sequence(f + c[1]) == N)  return f + c[1];
combo.cpp:6:32: note:   initializing argument 1 of 'std::string guess_sequence(int)'
    6 | std::string guess_sequence(int N) {
      |                            ~~~~^