Processing math: 100%
编程题
                字符串匹配

题目描述

小 C 学习完了字符串匹配的相关内容,现在他正在做一道习题。

对于一个字符串 S,题目要求他找到 S 的所有具有下列形式的拆分方案数:

S=ABCS=ABABCS=ABABABC,其中 ABC 均是非空字符串,且 A 中出现奇数次的字符数量不超过 C 中出现奇数次的字符数量。

更具体地,我们可以定义 AB 表示两个字符串 AB 相连接,例如 A=aabB=ab,则 AB=aabab$。

并递归地定义 A1=AAn=An1An2 且为正整数)。例如 A=abbA3=abbabbabb

则小 C 的习题是求 S=(AB)iC 的方案数,其中 F(A)F(C)),F(S) 表示字符串 S 中出现奇数次的字符的数量。两种方案不同当且仅当拆分出的 ABC 中有至少一个字符串不同。

小 C 并不会做这道题,只好向你求助,请你帮帮他。

输入描述

本题有多组数据,输入文件第一行一个正整数 T 表示数据组数。

每组数据仅一行一个字符串 S,意义见题目描述。S 仅由英文小写字母构成。

其中,1T51|S|220

输出描述

对于每组数据输出一行一个整数表示答案。

输入输出样例

示例 1

>输入

3
nnrnnr
zzzaab
mmlmmlo

>输出

8
9
16

示例 2

>输入

5
kkkkkkkkkkkkkkkkkkkk
lllllllllllllrrlllrr
cccccccccccccxcxxxcc
ccccccccccccccaababa
ggggggggggggggbaabab

>输出

156
138
138
147
194
查看答案
赣ICP备20007335号-2