제출 #439223

#제출 시각아이디문제언어결과실행 시간메모리
439223Idkwhoami콤보 (IOI18_combo)C++17
97 / 100
54 ms640 KiB
#include "bits/stdc++.h" #include "combo.h" using namespace std; string guess_sequence(int N) { string ans = "Y"; vector<string> tf = {"A", "B", "X"}, all = {"A", "B", "X", "Y"}; for(auto t:tf){ int x = press(t); if(x == 1) { ans = t; break; } } vector<string> possible; for(auto t:all){ if(t != ans)possible.push_back(t); } while(ans.size() != N){ if(ans.size() <= N-2){ string test1 = ans + possible[0] + ans + possible[1] + possible[2] + ans + possible[1] + possible[0] + ans + possible[1] + possible[1]; int x = press(test1); if(x == ans.size()){ ans = ans + possible[2]; } else if(x == ans.size() + 1){ ans = ans + possible[0]; } else{ ans = ans + possible[1]; } } else{ string test1 = ans + possible[0] + ans + possible[1]; int x = press(test1); if(x == ans.size()){ ans = ans + possible[2]; } else{ x = press(ans + possible[0]); if(x == ans.size())ans = ans + possible[1]; else ans = ans + possible[0]; } } } return ans; }

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:22:22: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   22 |     while(ans.size() != N){
      |           ~~~~~~~~~~~^~~~
combo.cpp:24:23: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   24 |         if(ans.size() <= N-2){
      |            ~~~~~~~~~~~^~~~~~
combo.cpp:28:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |             if(x == ans.size()){
      |                ~~^~~~~~~~~~~~~
combo.cpp:31:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |             else if(x == ans.size() + 1){
      |                     ~~^~~~~~~~~~~~~~~~~
combo.cpp:42:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |             if(x == ans.size()){
      |                ~~^~~~~~~~~~~~~
combo.cpp:47:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |                 if(x == ans.size())ans = ans + possible[1];
      |                    ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...