結果
問題 |
No.3213 depth max K
|
ユーザー |
![]() |
提出日時 | 2025-07-25 22:00:57 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 894 ms / 2,000 ms |
コード長 | 641 bytes |
コンパイル時間 | 234 ms |
コンパイル使用メモリ | 82,564 KB |
実行使用メモリ | 77,640 KB |
最終ジャッジ日時 | 2025-07-25 22:01:08 |
合計ジャッジ時間 | 10,795 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 41 |
ソースコード
N,K=map(int, input().split()) dp1 = [0]*(K+1) dp1[0] = 1 for i in range(1, 2*N+1): dp1_d = [0]*(K+1) for j in range(K+1): if j!=0: dp1_d[j] += dp1[j-1] dp1_d[j] %= 998244353 if j != K: dp1_d[j] += dp1[j+1] dp1_d[j] %= 998244353 dp1 = dp1_d tmp = dp1[0] dp1 = [0]*K dp1[0] = 1 for i in range(1, 2*N+1): dp1_d = [0]*(K) for j in range(K): if j!=0: dp1_d[j] += dp1[j-1] dp1_d[j] %= 998244353 if j != K-1: dp1_d[j] += dp1[j+1] dp1_d[j] %= 998244353 dp1 = dp1_d print((tmp - dp1[0])% 998244353)