Submission #1237041

#TimeUsernameProblemLanguageResultExecution timeMemory
1237041caacrugonCombo (IOI18_combo)C++20
30 / 100
10 ms468 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;

string guess_sequence(int N) {
  string p="",S="";
  vector<char> lc={'A','B','X','Y'};
  vector<char> lcf;
  char av=' ';
  p+=lc[lc.size()-1];
  p+=lc[lc.size()-2];
  int coins = press(p);
  if(coins>0){
    p=lc[lc.size()-1];
    coins=press(p);
    if(coins>0){
      S=lc[lc.size()-1];
      av=lc[lc.size()-1];
    }else{
      S=lc[lc.size()-2];
      av=lc[lc.size()-2];
    }
  }else{
    p=lc[lc.size()-3];
    coins=press(p);
    if(coins>0){
      S=lc[lc.size()-3];
      av=lc[lc.size()-3];
    }else{
      S=lc[lc.size()-4];
      av=lc[lc.size()-4];
    }
  }
  for(int i=0;i<lc.size();i++){
    if(lc[i]==av)continue;
    lcf.push_back(lc[i]);
  }
  int bf=1;
  while(S.size()<N){
    p=S;
    p+=lcf[lcf.size()-1];
    p+=S;
    p+=lcf[lcf.size()-2];
    int coins=press(p);
    if(coins>bf){
      bf=coins;
      p=S;
      p+=lcf[lcf.size()-1];
      coins=press(p);
      if(coins==bf){
        S+=lcf[lcf.size()-1];
      }else{
        S+=lcf[lcf.size()-2];
      }
    }else{
      bf++;
      S+=lcf[lcf.size()-3];
    }
  }
  return S;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...