Submission #1238949

#TimeUsernameProblemLanguageResultExecution timeMemory
1238949yuichiro17Combo (IOI18_combo)C++20
100 / 100
7 ms492 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){
    if(press(pref+m[0]+pref+m[1])==n){
      if(press(pref+m[0])==n){
        pref+=m[0];
      }else{
        pref+=m[1];
      }
    }else{
      pref+=m[2];
    }
  }
  return pref;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...