Submission #1238948

#TimeUsernameProblemLanguageResultExecution timeMemory
1238948yuichiro17Combo (IOI18_combo)C++20
97 / 100
7 ms488 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

string guess_sequence(int n) {
  vector<char>m;
  string pref="";
  if(press("AB")>0){
    if(press("A")>0){
      pref="A";
      m={'B','X','Y'};
    }else{
      pref="B";
      m={'A','X','Y'};
    }
  }else{
    if(press("X")>0){
      pref="X";
      m={'A','B','Y'};
    }else{
      pref="Y";
      m={'A','B','X'};
    }
  }
  for(int i=1;i<n-1;i++){
    shuffle(m.begin(),m.end(),rng);
    int x=press(pref+m[0]+m[0]+pref+m[0]+m[1]+pref+m[0]+m[2]+pref+m[1]);
    if(x>i+1){
      pref+=m[0];
    }else if(x>i){
      pref+=m[1];
    }else{
      pref+=m[2];
    }
  }
  if(n!=1){
    for(int i=0;i<3;i++){
      if(press(pref+m[i])==n){
        pref+=m[i];
        break;
      }
    }
  }
  return pref;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...