제출 #303927

#제출 시각아이디문제언어결과실행 시간메모리
303927GilgameshCombo (IOI18_combo)C++17
5 / 100
1 ms200 KiB
#include "combo.h" using namespace std; #include <string> #include <vector> #include <set> string guess_sequence(int N) { string ans = ""; set<string> strs = {"A", "B", "X", "Y"}; int ab = press("AB"); if(ab >= 1){ int a = press("A"); if(a == 1){ ans = "A"; } else ans = "B"; } else{ int x = press("X"); if(x == 1){ ans = "X"; } else ans = "Y"; } strs.erase(ans); vector<string> left; for(string s : strs){ left.emplace_back(s); } string first = ans; for(int i = 1; i < N - 1; ++i){ int cur = press(ans + left[1] + ans + left[2] + left[0] + ans + left[2] + left[1] + ans + left[2] + left[2]); if(cur == ans.length()){ ans += left[0]; } else if(cur == ans.length() + 1){ ans += left[1]; } else ans += left[2]; } ab = press(ans + "A" + ans + "B"); if(ab >= N){ int a = press(ans + "A"); if(a >= N){ ans += "A"; } else ans += "B"; } else{ int x = press(ans + "X"); if(x >= N){ ans += "X"; } else ans += "Y"; } return ans; }

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:33:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |         if(cur == ans.length()){
      |            ~~~~^~~~~~~~~~~~~~~
combo.cpp:36:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |         else if(cur == ans.length() + 1){
      |                 ~~~~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...