(journey.pas/c/cpp)
题目描述
“感谢你们来访 Nescafe 之塔,封印的能量会在两天之内完全被贮存在神杯之中,你们也该回去了。” “不过圣主,我们还有一个问题。难道……Nescafe 就这样被封印成一座神杯,保存在塔中了吗?” “也许吧。谁知道呢?或许来年的秋天会有有识之士来开启它呢……” “有识之士?他是谁?” “如果有这样几个人,那他们一定来自忘川沧月家族的 10 个孩子!他们……也该踏上征程了……” “是这样……祝福他们吧……圣主您多保重,我们探险队要走了。” “一路平安……不过走之前我还给你们留了一份纪念品呢~” “纪念品?这是~!@#$%^&*()_+……一道题!” 给出一个长度为 N 的由小写字母’a’~’z’和’’组成的字符串 A,一个长度为 M 的仅由小写字母’a’~’z’组成的字符串 B。一个’’可以匹配任意多个字符(包括 0 个)。求在 B 的所有循环同构串中,有多少个能够与 A 匹配。 循环同构串:就是把 B 的前 k 个字母(
输入格式
第一行为字符串 A。 第二行为字符串 B。 输出格式 输出在 B 的所有循环同构串中,有多少个能够与 A 匹配。
样例输入 1
aaaa aaaa
样例输出 1
4
样例输入 2
样例输出 2
6
样例输入 3
样例输出 3
15
数据范围与约定
对于 30% 的测试点,M≤20。 对于 80% 的测试点,M≤200。 对于 100% 的测试点,1<=N<=100,1≤M≤100000。
正解思路:把b串复制一下,kmp搞一搞
新闻热点
疑难解答