AT_toyota2023spring_final_f Forbidden Pattern

题目描述

给定一个由 `A` 和 `B` 组成,长度为 $N$ 的字符串 $S$。 你可以重复进行如下操作 $0$ 次或多次: - 从 $S$ 中选择连续的 $2$ 个字符,这两个字符不是 `AB`,将其删除。然后,将剩下的左右(可能为空的)字符串连接起来,作为新的 $S$。 请你求出,经过若干次操作后,可能得到的不同字符串有多少种。答案对 $998244353$ 取模。

输入格式

输入通过标准输入给出,格式如下: > $N$ $S$

输出格式

请输出答案。

说明/提示

## 限制条件 - $2 \leq N \leq 10^6$ - $S$ 是由 `A` 和 `B` 组成的长度为 $N$ 的字符串 ## 样例解释 1 经过操作后,可能得到的字符串有 `A`、`B`、`BBA` 共 $3$ 种。 ## 样例解释 2 经过操作后,可能得到的字符串有 `A`、`ABA`、`ABABA` 共 $3$ 种。 由 ChatGPT 4.1 翻译