#ABC305G. 禁用子串
禁用子串
禁用子串
- 时间限制:2 秒
- 内存限制:512 MiB
题目描述
给定 个互不相同的非空字符串 。每个字符串都只由字符 a 和 b 组成,且长度不超过 。
求有多少个字符串 同时满足:
- 的长度为 ,且只由字符
a和b组成; - 对每个 , 都不包含 作为连续子串。
答案对 取模。
输入格式
第一行包含两个整数 。
接下来 行,第 行包含字符串 。
输出格式
输出一个整数,表示满足条件的字符串数量对 取模后的结果。
样例输入 1
4 3
aab
bbab
abab
样例输出 1
10
样例输入 2
20 1
aa
样例输出 2
17711
样例输入 3
1000000007 28
bbabba
bbbbaa
aabbab
bbbaba
baaabb
babaab
bbaaba
aabaaa
aaaaaa
aabbaa
bbaaaa
bbaabb
bbabab
aababa
baaaba
ababab
abbaba
aabaab
ababaa
abbbba
baabaa
aabbbb
abbbab
baaaab
baabbb
ababbb
baabba
abaaaa
样例输出 3
566756841
数据范围
对于所有数据:
- ;
- ;
- ;
- 只包含字符
a和b; - 任意两个给定字符串互不相同。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 100 | 无特殊限制 |