Submission #1216022

#TimeUsernameProblemLanguageResultExecution timeMemory
1216022simplemind_31Combo (IOI18_combo)C++20
0 / 100
0 ms408 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
  string S;
  if(press("AB")){
    if(press("A")){
      S="A";
      if(N==1){
        return S;
      }
      while(S.size()<N-1){
        int x=press(S+"B"+S+"XB"+S+"XX"+S+"XY");
        if(x==2){
          S.push_back('X');
        }else if(x==1){
          S.push_back('B');
        }else{
          S.push_back('Y');
        }
      }
      if(press(S+"B")){
        S.push_back('B');
      }else if(press(S+"X")){
        S.push_back('X');
      }else{
        S.push_back('Y');
      }
    }else{
      S="B";
      if(N==1){
        return S;
      }
      while(S.size()<N-1){
        int x=press(S+"A"+S+"XA"+S+"XX"+S+"XY");
        if(x==2){
          S.push_back('X');
        }else if(x==1){
          S.push_back('A');
        }else{
          S.push_back('Y');
        }
      }
      if(press(S+"A")){
        S.push_back('A');
      }else if(press(S+"X")){
        S.push_back('X');
      }else{
        S.push_back('Y');
      }
    }
  }else{
    if(press("X")){
      S="X";
      if(N==1){
        return S;
      }
      while(S.size()<N-1){
        int x=press(S+"A"+S+"BA"+S+"BB"+S+"BY");
        if(x==2){
          S.push_back('B');
        }else if(x==1){
          S.push_back('A');
        }else{
          S.push_back('Y');
        }
      }
      if(press(S+"A")){
        S.push_back('A');
      }else if(press(S+"B")){
        S.push_back('B');
      }else{
        S.push_back('Y');
      }
    }else{
      S="Y";
      if(N==1){
        return S;
      }
      while(S.size()<N-1){
        int x=press(S+"A"+S+"BA"+S+"BB"+S+"BX");
        if(x==2){
          S.push_back('B');
        }else if(x==1){
          S.push_back('A');
        }else{
          S.push_back('X');
        }
      }
      if(press(S+"A")){
        S.push_back('A');
      }else if(press(S+"B")){
        S.push_back('B');
      }else{
        S.push_back('X');
      }
    }
  }
  return S;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...