P17551 [JAG 2026 Summer Camp #2] Take Many ABA
题目描述
对于一个仅由 `A` 和 `B` 组成的字符串 $T$,定义 $f(T)$ 为最多能够执行以下操作的次数。
**操作:** 删除 $T$ 中一个(不要求连续的)子序列 `ABA`,并将删除后留下的空隙合拢。
给定一个由 `A`、`B` 和 `?` 组成的字符串 $S$。将 $S$ 中每个 `?` 替换为 `A` 或 `B`,可以得到若干字符串 $T$。求所有这些字符串 $T$ 的 $f(T)$ 之和,对 $998244353$ 取模。
输入格式
输入格式如下:
```text
S
```
$S$ 是一个由 `A`、`B` 和 `?` 组成的字符串,长度在 $3$ 到 $1000$ 之间(含端点)。
输出格式
输出答案。
说明/提示
第一个样例中,可能得到的字符串 $T$ 及其对应的 $f(T)$ 如下:
- $T=\texttt{AABA}$:$f(T)=1$。
- $T=\texttt{AABB}$:$f(T)=0$。
- $T=\texttt{ABBA}$:$f(T)=1$。
- $T=\texttt{ABBB}$:$f(T)=0$。
因此,答案为 $1+0+1+0=2$。