제출 #1370620

#제출 시각아이디문제언어결과실행 시간메모리
1370620Godgift42콤보 (IOI18_combo)C++20
100 / 100
5 ms488 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;

int press(std::string p);

const long long md=1000000007;
const long long b=31;
const long long d=29;
const long long c=61;

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

std::string guess_sequence(int N) {
  int cur=1;
  string st="";
  vector<char> ch;
  if(press("AB")){
    if(press("A")){
        st="A";
        ch={'B','X','Y'};
    }
    else{
        st="B";
        ch={'A','X','Y'};
    }
  }
  else{
    if(press("X")){
        st="X";
        ch={'A','B','Y'};
    }
    else{
        st="Y";
        ch={'A','B','X'};
    }
  }
  long long rn=1;
  int pre=-1;
  while(st.size()<N){
    cur=st.size();   
    if(cur==N-1){
        int x=press(st+ch[0]);
        if(x==N){
            st+=ch[0];
            break;
        }
        x=press(st+ch[1]);
        if(x==N){
            st+=ch[1];
            break;
        }
        st+=ch[2];
        break;
    } 
    string ps=st+ch[0]+ch[0]+st+ch[0]+ch[1]+st+ch[0]+ch[2]+st+ch[1];
    int x=press(ps);
    if(x==cur)st+=ch[2];
    else if(x==cur+1){
        st+=ch[1];
    }
    else{
        st+=ch[0];
    }
  }
  return st;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…