Submission #128952

#TimeUsernameProblemLanguageResultExecution timeMemory
128952TalantCombo (IOI18_combo)C++17
97 / 100
42 ms568 KiB
//#include "grader.cpp"
#include "combo.h"


#include <bits/stdc++.h>

#define sc second
#define fr first
#define mk make_pair
#define pb push_back

using namespace std;

const int NN = (1e6 + 5);
const int inf = (1e9 + 7);

string a,s,t;
int f;

string guess_sequence(int n) {
      if (press("A") > 0) f = 1,a += "A";
      else if (press("B") > 0) f = 2,a += "B";
      else if (press("X") > 0) f = 3,a += "X";
      else f = 4,a += "Y";

      if (f != 1) s += "A";
      if (f != 2) s += "B";
      if (f != 3) s += "X";
      if (f != 4) s += "Y";

      for (int i = 2; i < n; i ++) {
            t = "";
            t += a + s[0];
            t += a + s[1] + s[0];
            t += a + s[1] + s[1];
            t += a + s[1] + s[2];

            int coin = press(t);
            if (coin == i)  a += s[0];
            else if (coin == i + 1)  a += s[1];
            else  a += s[2];
      }
      if (n == 1) {
            return a;
      }
      if (press(a + s[0]) == n) a += s[0];
      else if (press(a + s[1]) == n) a += s[1];
      else a += s[2];
      return a;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...