AT_jsc2026_final_e Ensmile

题目描述

给定一个只包含 `:` 和 `|` 的字符串 $S$。设 $S$ 中 `|` 的个数为 $m$。 对于 $k=0,1,\ldots,m$,将 $S$ 中从左起第 $k$ 个 `|` 替换为 `)`,剩余的 $m-k$ 个 `|` 替换为 `(`,得到字符串 $s_k$。 对于 $t=s_0,s_1,\ldots,s_m$,请解决以下问题: > 对于 $t$,可以重复以下任一操作,直到无法进行为止: > > - 选择 $t$ 的任意一个子串 `):`,将其替换为 `:)`。 > - 选择 $t$ 的任意一个子串 `:(`,将其替换为 `(:`。 > > 在这种情况下,求所有可能的操作序列的个数,并对 $998244353$ 取模。 > > 需要注意,每一种操作结束后的字符串序列将操作序列区分开。

输入格式

输入为以下格式: > $S$

输出格式

对于 $t=s_0,s_1,\ldots,s_m$,按照这个顺序,用空格隔开输出每个答案。

说明/提示

### 样例解释 1 例如 $s_1$ 为 `:):(:(:`,当 $t = s_1$ 时,所有可能的操作序列有如下 $4$ 个: - `:):(:(:` $\to$ `::)(:(:` $\to$ `::)((::` - `:):(:(:` $\to$ `:)(::(:` $\to$ `:)(:(::` $\to$ `:)((:::` - `:):(:(:` $\to$ `:):((::` $\to$ `::)((::` - `:):(:(:` $\to$ `:):((::` $\to$ `:)(:(::` $\to$ `:)((:::` ### 约束条件 - $2 \le |S| \le 5000$ - $S$ 仅包含 `:` 和 `|` - $S$ 至少包含一个 `|` 由 ChatGPT 5 翻译