Submission #138493

#TimeUsernameProblemLanguageResultExecution timeMemory
138493MAMBACombo (IOI18_combo)C++17
5 / 100
2 ms244 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; #define mt make_tuple string guess_sequence(int N) { string A = ""; if (press("AB")) { if (press("A")) A = "A"; else A = "B"; } else { if (press("X")) A = "X"; else A = "Y"; } string s0 , s1, s2, s3 , s4; if (A[0] == 'A') { tie(s0 , s1 , s2 , s3, s4) = mt("BB" , "BX" , "BY" , "X" , "Y"); } else if (A[0] == 'B') { tie(s0 , s1 , s2 , s3, s4) = mt("AA" , "AX" , "AY" , "X" , "Y"); } else if (A[0] == 'X') { tie(s0 , s1 , s2 , s3, s4) = mt("BB" , "BA" , "BY" , "A" , "Y"); } else { tie(s0 , s1 , s2 , s3, s4) = mt("BB" , "BX" , "BA" , "X" , "A"); } while (A.size() <= N - 2) { int res = press(A + s0 + A + s1 + A + s2 + A + s3); res -= A.size(); if (res == 0) A += s4; else if (res == 1) A += s3; else A.push_back(s0[0]); // cout << A << endl; } if (A.size() == N - 1) { if (press(A + s3 + A + s4) == A.size() + 1) { if (press(A + s3) == A.size() + 1 ) A += s3; else A += s4; } else A.push_back(s0[0]); } // cout << A << endl; return A; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:39:18: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   39 |  while (A.size() <= N - 2) {
      |         ~~~~~~~~~^~~~~~~~
combo.cpp:47:15: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   47 |  if (A.size() == N - 1) {
      |      ~~~~~~~~~^~~~~~~~
combo.cpp:48:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |   if (press(A + s3 + A + s4) == A.size() + 1) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
combo.cpp:49:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |    if (press(A + s3) == A.size() + 1 )
      |        ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...