結果
問題 |
No.1492 01文字列と転倒
|
ユーザー |
|
提出日時 | 2021-06-18 12:07:08 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,854 ms / 4,000 ms |
コード長 | 563 bytes |
コンパイル時間 | 193 ms |
コンパイル使用メモリ | 82,144 KB |
実行使用メモリ | 312,648 KB |
最終ジャッジ日時 | 2024-06-22 02:54:06 |
合計ジャッジ時間 | 17,323 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 22 |
ソースコード
n,m=map(int,input().split()) dp=[[0]*(n**2+1) for _ in range(n+1)] dp[0][0]=1 # dp[i][j]:num0=i,num1=j for i in range(2*n): ndp=[[0]*(n**2+1) for _ in range(n+1)] for j in range(n+1): for k in range(n**2+1): if dp[j][k]==0:continue if j>0:# 1を置く ndp[j-1][k]+=dp[j][k] ndp[j-1][k]%=m if i+j<2*n:# 0を置く x1=(i-j)//2 ndp[j+1][k+x1]+=dp[j][k] ndp[j+1][k+x1]%=m dp=ndp ans=[0]*(n**2+1) for j in range(n+1): for k in range(n**2+1): ans[k]+=dp[j][k] ans[k]%=m print(*ans,sep='\n')