Submission #670812

#TimeUsernameProblemLanguageResultExecution timeMemory
670812mdubCombo (IOI18_combo)C++14
100 / 100
29 ms588 KiB
#include <bits/stdc++.h> using namespace std; int press(string p); string guess_sequence(int N) { string first; string prefix, second; string th1, th2, th3; string other; if (press("AB")) { if (press("A")) first = "A"; else first = "B"; } else if (press("X")) { first = "X"; } else first = "Y"; if (first == "A") { prefix = "A"; second = "B"; th1 = "XB"; th2= "XX"; th3 = "XY"; other = "Y"; } else if (first == "B") { prefix = "B"; second = "A"; th1 = "XA"; th2 = "XX"; th3 = "XY"; other = "Y"; } else if (first == "X") { prefix = "X"; second = "A"; th1 = "BB"; th2 = "BA"; th3 = "BY"; other = "Y"; } else { prefix = "Y"; second = "A"; th1 = "BB"; th2 = "BX"; th3 = "BA"; other = "X"; } if (N == 1) return prefix; for (int i = 1; i < N - 1; i++) { int temp = press(prefix + second + prefix + th1 + prefix + th2 + prefix + th3); if (temp == prefix.size()) prefix += other; else if (temp == prefix.size() + 1) prefix += second; else prefix += th1[0]; } if (press(prefix+ second) == N) return prefix + second; else if (press(prefix + th1[0]) == N) return prefix + th1[0]; else return prefix + other; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:58:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   58 |     if (temp == prefix.size()) prefix += other;
      |         ~~~~~^~~~~~~~~~~~~~~~
combo.cpp:59:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |     else if (temp == prefix.size() + 1) prefix += second;
      |              ~~~~~^~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...