結果
問題 |
No.3043 括弧列の数え上げ
|
ユーザー |
![]() |
提出日時 | 2025-03-01 23:28:30 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 121 ms / 2,000 ms |
コード長 | 592 bytes |
コンパイル時間 | 667 ms |
コンパイル使用メモリ | 82,316 KB |
実行使用メモリ | 76,648 KB |
最終ジャッジ日時 | 2025-03-01 23:28:36 |
合計ジャッジ時間 | 5,076 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 45 |
ソースコード
""" https://yukicoder.me/problems/no/3042 ((())) -> 3 ()(()) -> 1 (())() -> 1 (()()) -> 2 """ N = int(input()) mod = 998244353 f = [0] * (N+1) f[0] = 1 g = [0] * (N+1) for i in range(N): nf = [0] * (N+1) ng = [0] * (N+1) for j in range(N+1): if j != 0: nf[j-1] += f[j] ng[j-1] += g[j] + f[j] * (j-1) nf[j-1] %= mod ng[j-1] %= mod if j != N: nf[j+1] += f[j] ng[j+1] += g[j] nf[j+1] %= mod ng[j+1] %= mod f,g = nf,ng # print (f,g) print (g[0])