Submission #99132

#TimeUsernameProblemLanguageResultExecution timeMemory
99132JustasLeCombo (IOI18_combo)C++17
Compilation error
0 ms0 KiB
// #include "combo.h" #include <bits/stdc++.h> using namespace std; string guess_sequence(int N) { set<char> X = {'A', 'B', 'X', 'Y'}; string s = ""; for (auto it = X.begin(); it != X.end(); it++) { int x = press(s + *it); if (x != 0) { s += *it; X.erase(it); break; } } if (s == "") { return s; } int prev = 1; while (true) { int sz = (int) s.size(), c = 0; if (sz == N) { break; } if (sz == N - 1) { for (auto it = X.begin(); it != X.end(); it++, c++) { if (c == 2) { return s + *it; } string poss = s + *it; int x = press(poss); if (x > prev) { return poss; } } } // vector<string> extraX = {"XX", "XY", "XB"}; // vector<string> extraA = {"AX", "AY", "AB"}; // vector<string> extraB = {"BA", "BX", "BY"}; // vector<string> extraY = {"YX", "YA", "YB"}; if (s[0] == 'A') { int x = press(s + "Y" + s + "XX" + s + "XY" + s + "XB"); if (x == prev) { s += 'B'; prev++; continue; } else { if (x == prev + 1) { s += "Y"; prev++; continue; } else { s += "X"; prev++; continue; } } } if (s[0] == 'B') { int x = press(s + "Y" + s + "XX" + s + "XY" + s + "XA"); if (x == prev) { s += 'A'; prev++; continue; } else { if (x == prev + 1) { s += "Y"; prev++; continue; } else { s += "X"; prev++; continue; } } } if (s[0] == 'X') { int x = press(s + "Y" + s + "BB" + s + "BY" + s + "BA"); if (x == prev) { s += 'A'; prev++; continue; } else { if (x == prev + 1) { s += "Y"; prev++; continue; } else { s += "B"; prev++; continue; } } } if (s[0] == 'Y') { int x = press(s + "B" + s + "XX" + s + "XB" + s + "XA"); if (x == prev) { s += 'A'; prev++; continue; } else { if (x == prev + 1) { s += "B"; prev++; continue; } else { s += "X"; prev++; continue; } } } } return s; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:10:11: error: 'press' was not declared in this scope
   10 |   int x = press(s + *it);
      |           ^~~~~
combo.cpp:32:13: error: 'press' was not declared in this scope
   32 |     int x = press(poss);
      |             ^~~~~
combo.cpp:43:12: error: 'press' was not declared in this scope
   43 |    int x = press(s + "Y" + s + "XX" + s + "XY" + s + "XB");
      |            ^~~~~
combo.cpp:61:12: error: 'press' was not declared in this scope
   61 |    int x = press(s + "Y" + s + "XX" + s + "XY" + s + "XA");
      |            ^~~~~
combo.cpp:79:12: error: 'press' was not declared in this scope
   79 |    int x = press(s + "Y" + s + "BB" + s + "BY" + s + "BA");
      |            ^~~~~
combo.cpp:97:12: error: 'press' was not declared in this scope
   97 |    int x = press(s + "B" + s + "XX" + s + "XB" + s + "XA");
      |            ^~~~~