제출 #926929

#제출 시각아이디문제언어결과실행 시간메모리
926929bobbilyking콤보 (IOI18_combo)C++17
0 / 100
1 ms344 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; std::string guess_sequence(int N) { vector<char> poss{'A', 'B', 'X', 'Y'}; string cur; if (press("AB")) { if (press("A")) cur = "A"; else cur = "B"; } else { if (press("X")) cur = "X"; else cur = "Y"; } auto dumbextend = [&]() { bool done = 0; for (int i = 0; i < 2; ++i) { cur += poss[i]; if (press(cur) == cur.size()) { done = 1; break; } cur.pop_back(); } if (!done) cur += poss[2]; }; while (cur.size() < N) { // might not need this, but im scared of querying too mayn letters // dumbextend(); continue; if (cur.size() + 1 == N) dumbextend(); else { string temp; temp += cur + poss[0]; for (int j= 0 ; j < 3; ++j) temp += (cur + poss[1]) + poss[j]; auto res = press(temp); if (res == cur.size()) cur += poss[2]; else if (res == cur.size() + 1) cur += poss[0]; else cur += poss[1]; } } // cout << "WTF " << cur << endl; // cout << cur << " " << cur.size() << " " << N << endl; assert(cur.size() == N); return cur; }

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

combo.cpp: In lambda function:
combo.cpp:22:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |             if (press(cur) == cur.size()) {
      |                 ~~~~~~~~~~~^~~~~~~~~~~~~
combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:30:23: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   30 |     while (cur.size() < N) {
      |            ~~~~~~~~~~~^~~
combo.cpp:33:28: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   33 |         if (cur.size() + 1 == N) dumbextend();
      |             ~~~~~~~~~~~~~~~^~~~
combo.cpp:40:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |             if (res == cur.size()) cur += poss[2];
      |                 ~~~~^~~~~~~~~~~~~
combo.cpp:41:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |             else if (res == cur.size() + 1) cur += poss[0];
      |                      ~~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/10/cassert:44,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33,
                 from combo.cpp:2:
combo.cpp:48:23: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   48 |     assert(cur.size() == N);
      |            ~~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...