제출 #1356948

#제출 시각아이디문제언어결과실행 시간메모리
1356948mayacCombo (IOI18_combo)C++20
97 / 100
6 ms436 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
 
string guess_sequence(int N){
    char s[N*4+1],ans[N+1];
    ans[N]='\0';
    s[N*4]='\0';
    memset(s,0,sizeof s);
    vector<char> ch={'A','B','X','Y'};
    bool flag=1;
    for(int c=1;c<4&&flag;c++){
        for(int i=0;i<4*N;i++){
            s[i]=ch[c];
        }
        if(press(s)){
            swap(ch[0],ch[c]);
            flag=0;
        }
    }
    for(int j=0;j<4*N;j++)s[j]=ch[0];
    for(int i=1;i<N-1;i++){
      s[i]=ch[3];s[i+1]=ch[1];
      s[N+i]=ch[3];s[N+i+1]=ch[2];
      s[2*N+i]=ch[3];s[2*N+i+1]=ch[3];
      s[3*N+i]=ch[2];s[3*N+i+1]=ch[0];
      int g=press(s)-i;
      for(int j=i;j<4*N;j+=N)s[j]=ch[g+1];
    }
    for(int i=0;i<N;i++)ans[i]=s[i];
    if(N==1)return ans;
    ans[N-1]=ch[3];
    flag=1;
    for(int c=1;c<3&&flag;c++){
      for(int j=N-1;j<N*4;j+=N)s[j]=ch[c];
      if(press(s)==N){
        flag=0;
        ans[N-1]=ch[c];
      }
    }
    return ans;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…