AT_agc027_e [AGC027E] ABBreviate
题目描述
有一个只由 `a` 和 `b` 组成的字符串 $s$。すぬけ君可以以任意顺序、任意次数执行以下两种操作:
- 从 $s$ 中选择一个子串 `aa`,将其替换为 `b`。
- 从 $s$ 中选择一个子串 `bb`,将其替换为 `a`。
经过 $0$ 次或多次操作后,$s$ 可能有多少种不同的结果?请输出结果对 $10^9 + 7$ 取模后的值。
输入格式
输入为以下格式,从标准输入读取:
> $s$
输出格式
输出经过操作后 $s$ 可能有多少种不同的结果,对 $10^9 + 7$ 取模。
说明/提示
## 限制条件
- $1 \leq |s| \leq 10^5$
- $s$ 只包含 `a` 和 `b`。
## 样例解释 1
共有以下 $6$ 种可能的结果:
- `aaaa`
- `aab`
- `aba`
- `baa`
- `bb`
- `a`
## 样例解释 2
共有以下 $5$ 种可能的结果:
- `aabb`
- `aaa`
- `bbb`
- `ab`
- `ba`
## 样例解释 3
すぬけ君无法进行任何操作。
由 ChatGPT 4.1 翻译