Submission #738523

#TimeUsernameProblemLanguageResultExecution timeMemory
738523josanneo22Combo (IOI18_combo)C++17
100 / 100
34 ms660 KiB
#include <stdio.h> #include <vector> #include <queue> #include <algorithm> #include <iostream> #include <string> #include <bitset> #include <map> #include <set> #include <tuple> #include <string.h> #include <math.h> #include <random> #include <functional> #include <assert.h> #include <math.h> #include "combo.h" #define all(x) (x).begin(), (x).end() #define xx first #define yy second using namespace std; template<typename T, typename Pr = less<T>> using pq = priority_queue<T, vector<T>, Pr>; using i64 = long long int; using ii = pair<int, int>; using ii64 = pair<i64, i64>; string guess_sequence(int n) { if (n == 1) { if (press("A") == 1) return "A"; if (press("B") == 1) return "B"; if (press("X") == 1) return "X"; return "Y"; } string s; int k = press("AB"); if (k > 0) { if (press("A") == 1) s = "A"; else s = "B"; } else { if (press("X") == 1) s = "X"; else s = "Y"; } string c = "ABXY"; c.erase(find(all(c), s[0])); while (s.size() < n - 1) { string q = s + c[1] + s + c[2] + c[0] + s + c[2] + c[1] + s + c[2] + c[2]; s += c[press(q) - s.size()]; } if (press(s + c[0]) == n) s += c[0]; else if (press(s + c[1]) == n) s += c[1]; else s += c[2]; return s; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:67:18: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   67 |  while (s.size() < n - 1)
      |         ~~~~~~~~~^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...