Submission #314134

#TimeUsernameProblemLanguageResultExecution timeMemory
314134lauranCombo (IOI18_combo)C++14
100 / 100
47 ms608 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; string guess_sequence(int n) { string ret; // 1. aflu primul caracter int ans = press("AB"); if (ans == 0) { ans = press("Y"); if (ans == 1) ret += "Y"; else ret += "X"; } else if (ans == 1) { ans = press("A"); if (ans == 1) ret += "A"; else ret += "B"; } else ret += "A"; vector <string> rest; if (ret[0] != 'A') rest.push_back("A"); if (ret[0] != 'B') rest.push_back("B"); if (ret[0] != 'X') rest.push_back("X"); if (ret[0] != 'Y') rest.push_back("Y"); for (int i = 2; i <= n - 1; i++) { ans = press((ret + rest[0]) + (ret + rest[1] + rest[0]) + ret + (rest[1] + rest[1]) + ret + (rest[1] + rest[2])); if (ans == ret.size() + 1) ret += rest[0]; else if (ans == ret.size() + 2) ret += rest[1]; else if (ans == ret.size()) ret += rest[2]; } if (n > 1) for (int i = 0; i <= 1; i++) { ans = press(ret + rest[i]); if (ans == ret.size() + 1) return ret + rest[i]; } if (n > 1) return ret + rest[2]; return ret; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:35:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |         if (ans == ret.size() + 1)
      |             ~~~~^~~~~~~~~~~~~~~~~
combo.cpp:37:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |         else if (ans == ret.size() + 2)
      |                  ~~~~^~~~~~~~~~~~~~~~~
combo.cpp:39:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |         else if (ans == ret.size())
      |                  ~~~~^~~~~~~~~~~~~
combo.cpp:45:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |         if (ans == ret.size() + 1)
      |             ~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...