AtCoder Regular Contest 119
問題文
省略
省略
C++に変換後のコードはこちら
int N, K;
char C[4002];
Modint dp[3][2][4][2010], nx[3][2][4][2010];
{
Modint res = 0;
int c1, c2;
rd(N--,K,C);
if(C[0]=='?' || C[0]=='A') dp[2][0][0][0]++;
if(C[0]=='?' || C[0]=='B') dp[2][1][0][0]++;
rep(k,1,N){
rep(t,3) rep(x,2) rep(y,4) rep(i,K+1) nx[t][x][y][i] = 0;
rep(t,3) rep(x,2) rep(y,4) rep(i,K+1) if(dp[t][x][y][i]){
rep(m,2){
if(m==0 && C[k]=='B') continue;
if(m==1 && C[k]=='A') continue;
if(x==m) nx[t][x][min(3,y+1)][i] += dp[t][x][y][i], continue;
c1 = i + t - 1 + y;
c2 = i + 1;
c1 <?= c2 + 1;
c2 <?= c1 + 1;
nx[c2-c1+1][m][0][c1] += dp[t][x][y][i];
}
}
rep(t,3) rep(x,2) rep(y,4) rep(i,K+1) dp[t][x][y][i] = nx[t][x][y][i];
}
rep(t,3) rep(x,2) rep(y,4) rep(i,K+1) if(i+1 <= K || i+t+y <= K) res += dp[t][x][y][i];
wt(res);
}
Current time: 2024年04月19日20時42分08秒
Last modified: 2021年05月20日22時27分57秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest ARC119 ARC_F
トップページに戻る
Logged in as: unknown user (not login)