P16518 [GKS 2015 #E] Lazy Spelling Bee
题目描述
在懒惰拼字比赛中,参赛者会收到一个需要拼写的目标单词 $W$。如果参赛者给出的答案单词 $A$ 长度与目标单词相同,并且对于 $A$ 长度范围内的每一个 $i$,$A$ 的第 $i$ 个字母要么是 $W$ 的第 $i$ 个、第 $(i-1)$ 个或第 $(i+1)$ 个字母,那么 $A$ 就是可接受的。($A$ 的第一个字母必须匹配 $W$ 的第一个或第二个字母,因为 $W$ 的第 $0$ 个字母不存在。类似地,$A$ 的最后一个字母必须匹配 $W$ 的最后一个或倒数第二个字母。)注意,目标单词本身始终是一个可接受的答案单词。
你正在筹办一场懒惰拼字比赛,并被要求对于每个目标单词,求出共有多少个不同的可接受答案单词。由于这个数字可能非常大,请输出其对 $1000000007$(即 $10^9 + 7$)取模的结果。
输入格式
输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 个测试用例,每个用例占一行,包含一个仅由小写英文字母(a 到 z)组成的字符串。
输出格式
对于每个测试用例,输出一行形如 `Case #x: y` 的内容,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是不同的可接受答案单词的数量对 $10^9 + 7$ 取模的结果。
说明/提示
在样例用例 #1 中,可接受的答案单词有 aa、ag、ga 和 gg。
在样例用例 #2 中,唯一可接受的答案单词是 aa。
### 限制
- $1 \le T \le 100$。
- 每个字符串的长度 $\ge 1$。
**小数据集(测试集 1 - 可见)**
- 每个字符串的长度 $\le 5$。
**大数据集(测试集 2 - 隐藏)**
- 每个字符串的长度 $\le 1000$。
翻译由 DeepSeek V4 Pro 完成