#P1961. Period
Period
题目描述:
描述
对于给定的一个有 个字符的字符串 (每个字符的 ASCII 码值在 到 之间,包含 和 )的每一个前缀,我们想知道该前缀是否为一个周期字符串。也就是说,对于每一个 (),我们想知道最大的()(如果存在的话),使得长度为 的 的前缀能够写成 的形式,即对于某个字符串 , 连接 次的结果。当然,我们也想知道这个周期K的值。
输入:
输入由若干个测试用例组成。每个测试用例包含两行内容。第一行包含一个整数 (),表示字符串 的长度。第二行包含字符串 。输入文件以单独一行且该行上只有数字 作为结束标志。
输出:
对于每个测试用例,在单独的一行上输出 "Test case #" 以及连续的测试用例编号;然后,对于每一个长度为 且周期()的前缀,输出前缀的长度 和周期 ,两者之间用单个空格隔开;前缀的长度必须按升序排列。在每个测试用例输出之后打印一个空行。
输入数据1
3
aaa
12
aabaabaabaab
0
输出数据1
Test case #1
2 2
3 3
Test case #2
2 2
6 2
9 3
12 4
来源:
2004 年东南欧