제출 #945550

#제출 시각아이디문제언어결과실행 시간메모리
945550Syrius콤보 (IOI18_combo)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; // #define int long long #define pint pair < int , int > #define ll long long #define ff first #define ss second #define fast ios_base::sync_with_stdio(NULL); cin.tie(NULL) const int inf = 1e9 + 9; const int mxn = 2e5 + 2; const int mod = 1e9 + 7; // int press(string p) {} string guess_sequence(int n) { int t1 = press("AB"); int t2 = press("BX"); char a , b , c , z; if (t1 == 0) { a = 'A'; b = 'B'; if (t2 == 0) { z = 'Y'; c = 'X'; } else { z = 'X'; c = 'Y'; } } else { c = 'Y'; b = 'X'; if (t2 == 0) { a = 'B'; z = 'A'; } else { a = 'A'; z = 'B'; } } string str; str = z; if (press(str) == 1) press('F'); for (int i = 0; i < n-2; i++) { // int t = press(str + a + str + b + a + str + b + b + str + b + c); // int sz = str.size(); // if (t - sz == 0) str += c; // else if (t - sz == 1) str += a; // else if (t - sz == 2) str += b; if (press(str + a) == str.size() + 1) str += a; else if (press(str + b) == str.size() + 1) str += b; else str += c; } if (press(str + a) == n) str += a; else if (press(str + b) == n) str += b; else str += c; // if (str.size() != n) press(str + 'F'); return str; }

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:49:29: error: could not convert ''F'' from 'char' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
   49 |  if (press(str) == 1) press('F');
      |                             ^~~
      |                             |
      |                             char
combo.cpp:59:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |   if (press(str + a) == str.size() + 1) str += a;
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
combo.cpp:60:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |   else if (press(str + b) == str.size() + 1) str += b;
      |            ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~