結果

問題 No.2783 4-33 Easy
ユーザー tkykwtnb
提出日時 2024-06-15 09:45:00
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 964 bytes
コンパイル時間 365 ms
コンパイル使用メモリ 82,524 KB
実行使用メモリ 456,060 KB
最終ジャッジ日時 2024-06-15 09:45:05
合計ジャッジ時間 5,080 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 1 TLE * 1 -- * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import defaultdict
N=int(input())
A=["-1"]+list(input().split())
B=["-1"]+list(input().split())
N+=1
X=[0 for _ in range(N)]
for i in range(N):
    if B[i][-1]=="X":
        if B[i]=="X":
            A[i]=int(A[i])
            B[i]=0
            X[i]=1
        elif B[i][:-1]=="33":
            A[i]=int(A[i])
            B[i]=33
            X[i]=1
        else:
            A[i]=-1;B[i]=-1
    else:
        A[i]=int(A[i])
        B[i]=int(B[i])
DP=[[defaultdict(int) for _ in range(10)] for _ in range(N)]
DP[0][0][(0,0,0)]=1
for i in range(1,N):
    for j in range(10):
        for (a,b,x),v in DP[i-1][j].items():
            # i枚目のカードを使わない
            DP[i][j][(a,b,x)]+=DP[i-1][j][(a,b,x)]
            # i枚目のカードを使う
            if A[i]!=-1 and j<9 and a+A[i]<=4 and b+B[i]<=33 and x+X[i]<=1:
                DP[i][j+1][(a+A[i],b+B[i],x+X[i])]+=DP[i-1][j][(a,b,x)]
print(DP[N-1][9][(4,33,1)]%998244353)
0