AtCoder Regular Contest 108 D問題 - AB

Source

AtCoder Regular Contest 108
問題文

問題概要

省略

解法

省略

cLayversion 20201121-1)のコード

C++に変換後のコードはこちら

int N;
char S[6];
set<string> chk[11];
{
  rd(N,S(4));
  if(N <= 3) wt(1), return 0;

  chk[2].insert("AB");
  rep(i,2,10){
    for(string s : chk[i]){
      string t;
      rep(j,1,s.size()){
        if(s[j-1]=='A' && s[j]=='A') t = s.substr(0,j) + S[0] + s.substr(j);
        if(s[j-1]=='A' && s[j]=='B') t = s.substr(0,j) + S[1] + s.substr(j);
        if(s[j-1]=='B' && s[j]=='A') t = s.substr(0,j) + S[2] + s.substr(j);
        if(s[j-1]=='B' && s[j]=='B') t = s.substr(0,j) + S[3] + s.substr(j);
        chk[i+1].insert(t);
      }
    }
  }
  if(chk[9].size() == 1) wt(1), return 0;
  if(chk[9].size() == 21) wt(fib_mod(N-1)), return 0;
  if(chk[9].size() == 64) wt(Modint(2)**(N-3)), return 0;
}

Current time: 2021年09月28日08時28分08秒
Last modified: 2020年11月22日17時04分34秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest ARC108 ARC_D
トップページに戻る

Logged in as: unknown user (not login)

ログイン: