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 翻译