Submission #777480

#TimeUsernameProblemLanguageResultExecution timeMemory
777480NeroZeinCombo (IOI18_combo)C++17
30 / 100
24 ms460 KiB
#include "combo.h"
#include "bits/stdc++.h"
using namespace std; 

std::string guess_sequence(int N) {
  std::string p = "";
  p = "AB";
  vector<char> v;
  char first; 
  if (press(p) > 0) {
    p = "A";
    if (press(p) == 1) {
      first = 'A';
      v = {'B', 'X', 'Y'};
    } else {
      first = 'B';
      v = {'A', 'X', 'Y'};
    }
  } else {
    p = 'X';
    if (press(p) == 1) {
      first = 'X';
      v = {'A', 'B', 'Y'};
    } else {
      first = 'Y';
      v = {'A', 'B', 'X'};
    }
  }
  std::string S;
  S += first;
  int n = N; 
  p.resize(n);
  p[0] = first;
  vector<vector<bool>> ban(n, vector<bool> (3)); 
  for (int i = 1; i < n; ++i) {
    int x = rand() % 3;
    p[i] = v[x];
    ban[i][x] = true; 
  }
  while (true) {
    int c = press(p); 
    if (c == n) {
      return p; 
    }
    for (int i = 0; i < 3; ++i) {
      if (!ban[c][i]) {
        ban[c][i] = true; 
        p[c] = v[i]; 
        break;
      }
    }
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...