Submission #1342606

#TimeUsernameProblemLanguageResultExecution timeMemory
1342606ris0828콤보 (IOI18_combo)C++20
5 / 100
1 ms412 KiB
#include "combo.h"
#include <bits/stdc++.h>

using namespace std;

std::string guess_sequence(int N) {
  string p;
  char rem[3];
  if(press("AB")){
    if(press("A")){
      p="A";
      rem[0]='B';
      rem[1]='X';
      rem[2]='Y';
    }else{
      p="B";
      rem[0]='A';
      rem[1]='X';
      rem[2]='Y';
    }
  }else{
    if(press("X")){
      p="X";
      rem[0]='A';
      rem[1]='B';
      rem[2]='Y';
    }else{
      p="Y";
      rem[0]='A';
      rem[1]='B';
      rem[2]='X';
    }
  }

  for(int i=2; i<N; i++){
    int coins=press(p+rem[0]+rem[0]+p+rem[0]+rem[1]+p+rem[0]+rem[2]+p+rem[1]);
    if(coins-p.length()==2){
      p+=rem[0];
    }else if(coins-p.length()==1){
      p+=rem[1];
    }else{
      p+=rem[2];
    }
  }

  if(press(p+rem[0]+p+rem[1])==N){
    if(press(p+rem[0])==N){
      return p+rem[0];
    }else{
      return p+rem[1];
    }
  }else{
    return(p+rem[2]);
  }

  // std::string p = "";
  // for (int i = 0; i < 4 * N; ++i) {
  //   p += 'A';
  // }
  // int coins = press(p);
  // cout << coins;
  // std::string S = "";
  // for (int i = 0; i < N; ++i) {
  //   S += 'A';
  // }
  // return S;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...