Submission #1207412

#TimeUsernameProblemLanguageResultExecution timeMemory
1207412That_SalamanderCombo (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include <bits/stdc++.h>

using namespace std;

#include "combo.h"

char OPTIONS[] = "ABXY";

string guess_sequence(int N) {
  string curr = "";
  if (press(curr + "A" + curr + "B") >= 1) {
    if (press(curr + "A") >= 1) curr += "A";
    else curr += "B";
  } else {
    if (press(curr + "X") >= 1) curr += "X";
    else curr += "Y";
  }

  vector<char> rest;
  for (int i = 0; i < 4; i++) {
    if (OPTIONS[i] != curr[0]) rest.push_back(OPTIONS[i]);
  }

  for (int i = 1; i < N-1; i++) {
    string s = curr + rest[0] + rest[0] + curr + rest[0] + rest[1] + curr + rest[0] + rest[2] + curr + rest[1];
    int res = press(s);
    if (res == i + 2) curr += rest[0];
    else if (res == i + 1) curr += rest[1];
    else curr += rest[2];
  }

  if (N > 1) {
    if (press(curr + "A" + curr + "B") == N) {
      if (press(curr + "A") == N) curr += "A";
      else curr += "B";
    } else {
      if (press(curr + "X") == N) curr += "X";
      else curr += "Y";
    }
  }

  return curr;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...