結果
問題 | No.2031 Colored Brackets |
ユーザー |
![]() |
提出日時 | 2022-08-05 22:43:16 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 164 ms / 2,000 ms |
コード長 | 721 bytes |
コンパイル時間 | 441 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 138,368 KB |
最終ジャッジ日時 | 2024-09-15 20:07:32 |
合計ジャッジ時間 | 4,519 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
import sys, math sys.setrecursionlimit(1000000) INF = 1 << 100 #mod = 1000000007 mod = 998244353 input = lambda: sys.stdin.readline().rstrip() li = lambda: list(map(int, input().split())) N = int(input()) S = list(input()) dp = [[0] * (N+2) for _ in range(N+1)] dp[0][0] = 1 x = 0 y = 0 for i in range(N): if S[i] == '(': x += 1 for j in range(x-y+1): dp[i+1][j+1] += dp[i][j] dp[i+1][j] += dp[i][j] dp[i+1][j+1] %= mod dp[i+1][j] %= mod else: y += 1 for j in range(x-y+1): dp[i+1][j] += dp[i][j+1] dp[i+1][j] += dp[i][j] dp[i+1][j] %= mod dp[i+1][j] %= mod print(dp[-1][0] % mod)