Submission #1296779

#TimeUsernameProblemLanguageResultExecution timeMemory
1296779ayazCombo (IOI18_combo)C++20
5 / 100
1 ms400 KiB
#include "combo.h"
#include "bits/stdc++.h"
using namespace std;
#define isz(x) (long long)x.size()

string guess_sequence(int n) {
  string res;
  vector<char> t(3);
  if (press("AB")) {
    if (press("A")) {
      res += 'A';
      t = {'B', 'X', 'Y'};
    } else {
      res += 'B';
      t = {'A', 'X', 'Y'};
    }
  } else {
    if (press("X")) {
      res += 'X';
      t = {'B', 'A', 'Y'};
    } else {
      res += 'Y';
      t = {'A', 'X', 'B'};
    }
  }
  for (int i = 1; i < n-1; i++) {
    string s = res + t[0] + t[0] + res + t[0] + t[1] + res + t[0] + t[2] + res + t[1];
    int x = press(s);
    if (x == isz(res) + 2) {
      res += t[0];
    } else if (x == isz(res) + 1) {
      res += t[1];
    } else if (x == isz(res)) {
      res += t[2];
    }
    assert(isz(res) == i + 1);
  }
  assert(isz(res) == n-1);
  if (press(res + t[0]) == isz(res) + 1) {
    res += t[0];
  } else if (press(res + t[1]) == isz(res) + 1) {
    res += t[1];
  } else {
    res += t[2];
  }
  return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...