제출 #554907

#제출 시각아이디문제언어결과실행 시간메모리
554907d4xn콤보 (IOI18_combo)C++17
5 / 100
1 ms336 KiB
#include "combo.h" #pragma GCC optimize ("Ofast") #include <bits/stdc++.h> using namespace std; #define pb push_back string guess_sequence(int N) { string p; string dict1 = "ABXY"; int x = press("AB"); if (x >= 1) { if (press("A")) { p.pb('A'); } else { p.pb('B'); } } else { if (press("X")) { p.pb('X'); } else { p.pb('Y'); } } string dict2; for (char &c : dict1) { if (c == p[0]) continue; dict2.pb(c); } for (int i = 1; i < N-1; i++) { string s1 = p; s1.pb(dict2[0]); string s2 = p; s2.pb(dict2[1]); s2.pb(dict2[0]); string s3 = p; s3.pb(dict2[1]); s3.pb(dict2[1]); string s4 = p; s4.pb(dict2[1]); s4.pb(dict2[2]); string total = s1 + s2 + s3 + s4; cerr << total << endl; assert(total.size() <= 4*N); int y = press(total); if (y == i+1) { p.pb(dict2[0]); } else if (y == i+2) { p.pb(dict2[1]); } else { p.pb(dict2[2]); } } assert(p.size() == N-1); for (int i = 0; i < 2; i++) { char c = dict2[i]; p.pb(c); if (press(p) == N) break; p.pop_back(); } if (p.size() < N) { p.pb(dict2[2]); } return p; }

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

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:4:
combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:56:25: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   56 |     assert(total.size() <= 4*N);
      |            ~~~~~~~~~~~~~^~~~~~
combo.cpp:69:19: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   69 |   assert(p.size() == N-1);
      |          ~~~~~~~~~^~~~~~
combo.cpp:77:16: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   77 |   if (p.size() < N) {
      |       ~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...