結果
問題 |
No.3213 depth max K
|
ユーザー |
![]() |
提出日時 | 2025-07-25 21:56:38 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 649 bytes |
コンパイル時間 | 337 ms |
コンパイル使用メモリ | 82,796 KB |
実行使用メモリ | 849,240 KB |
最終ジャッジ日時 | 2025-07-25 21:57:05 |
合計ジャッジ時間 | 20,106 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 37 MLE * 4 |
ソースコード
N,K=map(int, input().split()) dp1 = [[0]*(K+1) for _ in range(2*N+1)] dp1[0][0] = 1 for i in range(1, 2*N+1): for j in range(K+1): if j!=0: dp1[i][j] += dp1[i-1][j-1] dp1[i][j] %= 998244353 if j != K: dp1[i][j] += dp1[i-1][j+1] dp1[i][j] %= 998244353 dp2 = [[0]*(K) for _ in range(2*N+1)] dp2[0][0] = 1 for i in range(1, 2*N+1): for j in range(K): if j!=0: dp2[i][j] += dp2[i-1][j-1] dp2[i][j] %= 998244353 if j != K-1: dp2[i][j] += dp2[i-1][j+1] dp2[i][j] %= 998244353 print((dp1[-1][0] - dp2[-1][0])% 998244353)