Submission #1299833

#TimeUsernameProblemLanguageResultExecution timeMemory
1299833tuncay_pashaCombo (IOI18_combo)C++20
0 / 100
1 ms332 KiB
#include "combo.h"
#include "bits/stdc++.h"

using namespace std;

string guess_sequence(int N) {
  char ff = '$';
  if (press("AB") == 1) {
    if (press("A") == 1) {
      ff = 'A';
    }
    else ff = 'B';
  }
  else {
    if (press("X") == 1) {
      ff = 'X';
    }
    else ff = 'Y';
  }
  string ans = "";
  ans += ff;
  for (int i = 2; i < N; ++i) {
    string t = "";
    if (ff == 'A') {
      t += ans, t += 'B', t += ans, t += "XX", t += ans, t += "XY", t += ans, t += "XB";
      int sz = press(t);
      if (sz == ans.size()) {
        ans += 'Y';
      }
      else if (sz == ans.size() + 1) {
        ans += 'B';
      }
      else ans += 'X';
    }
    else if (ff == 'B') {
      t += ans, t += 'A', t += ans, t += "XX", t += ans, t += "XY", t += ans, t += "XA";
      int sz = press(t);
      if (sz == ans.size()) {
        ans += 'Y';
      }
      else if (sz == ans.size() + 1) {
        ans += 'A';
      }
      else ans += 'X';
    }
    else if (ff == 'X') {
      t += ans, t += 'A', t += ans, t += "BB", t += ans, t += "BY", t += ans, t += "BA";
      int sz = press(t);
      if (sz == ans.size()) {
        ans += 'Y';
      }
      else if (sz == ans.size() + 1) {
        ans += 'A';
      }
      else ans += 'B';
    }
    else {
      t += ans, t += 'A', t += ans, t += "XX", t += ans, t += "XA", t += ans, t += "XB";
      int sz = press(t);
      if (sz == ans.size()) {
        ans += 'B';
      }
      else if (sz == ans.size() + 1) {
        ans += 'A';
      }
      else ans += 'X';
    }
  }
  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...