제출 #107276

#제출 시각아이디문제언어결과실행 시간메모리
107276kyunamk콤보 (IOI18_combo)C++14
컴파일 에러
0 ms0 KiB
#include "combo.h" #include <vector> #include <iostream> using namespace std; string guess_sequence(int N) { string p = ""; vector<char> b ; b.push_back('A'); b.push_back('B'); b.push_back('X'); b.push_back('Y'); string prefix =""; if ( press("AB") ) { //AB if (press("A") ) { prefix = "A"; b.erase(b.begin()+0); } else { prefix = "B"; b.erase(b.begin()+1); } } else { //AB if (press("X") ) { prefix = "X"; b.erase(b.begin()+2); } else { prefix = "Y"; b.erase(b.begin()+3); } } cerr << b[0] << b[1] << b[2] << endl; while ( prefix.length() < N-1 ) { int i = 0 ; int n = 0; string append = prefix; append = prefix; string s =""; append.append(1,b[1]); s+=append; append = prefix; append.append(1,b[2]); for ( i = 0 ; i < 3 ; i++) { s+=append; s.append(1,b[i]); } if(debug) cout << s << " "; n = press(s) ; if(debug) cout << n << endl; prefix.append(1,b[n-prefix.length()]); if(debug) cout << "prefix " << prefix << endl; } if ( press(prefix + b[0] + prefix + b[1]) == N ) { if ( press(prefix + b[0]) == N ) prefix.append(1,b[0]); else prefix.append(1,b[1]); } else { prefix.append(1,b[2]); } if(debug) cout << prefix << endl; return prefix; }

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:43:27: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |   while ( prefix.length() < N-1 ) {
      |           ~~~~~~~~~~~~~~~~^~~~~
combo.cpp:60:8: error: 'debug' was not declared in this scope
   60 |     if(debug) cout << s << " ";
      |        ^~~~~
combo.cpp:62:8: error: 'debug' was not declared in this scope
   62 |     if(debug) cout << n << endl;
      |        ^~~~~
combo.cpp:65:8: error: 'debug' was not declared in this scope
   65 |     if(debug) cout << "prefix " << prefix << endl;
      |        ^~~~~
combo.cpp:78:6: error: 'debug' was not declared in this scope
   78 |   if(debug) cout << prefix << endl;
      |      ^~~~~