Submission #107248

#TimeUsernameProblemLanguageResultExecution timeMemory
107248wonyoungCombo (IOI18_combo)C++14
30 / 100
101 ms716 KiB
#include <vector> #include <string> using namespace std; int press(string p); string guess_sequence(int N) { vector<char> buttons = { 'A', 'B', 'X', 'Y' }; string prefix; char first_char; int n; n = press("AB"); if (n == 2) { prefix = "AB"; buttons.erase(buttons.begin()); } else if (n == 1) { if (press("A") > 0) { prefix = "A"; buttons.erase(buttons.begin()); } else { prefix = "B"; buttons.erase(buttons.begin()+1); } } else { if (press("X") > 0) { prefix = "X"; buttons.erase(buttons.begin()+2); } else { prefix = "Y"; buttons.erase(buttons.begin()+3); } } int i; bool skip = false; while (prefix.length() < N) { for (i=0; i< 2; i++) { if (i==0 && skip) { skip = false; continue; } string query_string = ""; string s = prefix; s.push_back(buttons[i]); query_string += s; while (query_string.length() + s.length() + 1 < N * 4) { s.push_back(buttons[0]); query_string += s; } n = press(query_string); if (n > prefix.length()) { if (n < s.length()) { skip = true; } break; } } prefix.push_back(buttons[i]); for (int i=prefix.length(); i<n; i++) { prefix.push_back(buttons[0]); } } return prefix; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:48:28: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   48 |     while (prefix.length() < N)
      |            ~~~~~~~~~~~~~~~~^~~
combo.cpp:60:59: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   60 |             while (query_string.length() + s.length() + 1 < N * 4)
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
combo.cpp:66:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |             if (n > prefix.length())
      |                 ~~^~~~~~~~~~~~~~~~~
combo.cpp:68:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |                 if (n < s.length())
      |                     ~~^~~~~~~~~~~~
combo.cpp:10:10: warning: unused variable 'first_char' [-Wunused-variable]
   10 |     char first_char;
      |          ^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...