제출 #1142705

#제출 시각아이디문제언어결과실행 시간메모리
1142705redaisthegoat콤보 (IOI18_combo)C++20
0 / 100
0 ms408 KiB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
string guess_sequence(int N) {
  string S="";
  int rep = press("AB");
  int a;
  if(rep>=1){
      rep= press("A");
      if(rep==1){
          S+='A';
          while(S.length()<N){
              a=S.length();
              string comb=S+"B"+S+"XX"+S+"XY"+S+"XB";
              rep = press(comb);
              if(rep==a+1){
                  S+="B";
              }
              if(rep==a+2){
                  S+="X";
                  
              }
              else S+="Y";
                  
            }
            rep= press(S+"X");
            if(rep==1) S+="X";
            else{
                rep= press(S+="B");
                if(rep==1) S+="B";
                else S+="Y";
            }
          
      }
      else {
          S+='B';
          while(S.length()<N){
              a=S.length();
              string comb=S+"A"+S+"XX"+S+"XY"+S+"XA";
              rep = press(comb);
              if(rep==a+1){
                  S+="A";
              }
              if(rep==a+2){
                  S+="X";
                  
              }
              else S+="Y";
                  
            }
            rep= press(S+"X");
            if(rep==1) S+="X";
            else{
                rep= press(S+="A");
                if(rep==1) S+="A";
                else S+="Y";
            }
      }
  }
       if(rep==0){
      rep = press("X");
      if(rep==1){
          S+='X';
          while(S.length()<N){
              a=S.length();
              string comb=S+"Y"+S+"AA"+S+"AB"+S+"AY";
              rep = press(comb);
              if(rep==a+1){
                  S+="Y";
              }
              if(rep==a+2){
                  S+="A";
                  
              }
              else S+="B";
                  
            }
            rep= press(S+"A");
            if(rep==1) S+="A";
            else{
                rep= press(S+="Y");
                if(rep==1) S+="Y";
                else S+="B";
            }
      }
      else{
          S+='Y';
          while(S.length()<N){
              a=S.length();
              string comb=S+"X"+S+"AA"+S+"AB"+S+"AX";
              rep = press(comb);
              if(rep==a+1){
                  S+="X";
              }
              if(rep==a+2){
                  S+="A";
                  
              }
              else S+="B";
                  
            }
            rep= press(S+"A");
            if(rep==1) S+="A";
            else{
                rep= press(S+="X");
                if(rep==1) S+="X";
                else S+="B";
            }
      }
          
  }

  
  return S;
  }
      
 
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...