最小循环节-next数组应用
最小循环节--next数组应用
循环节
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
X最近爱上了一种奇怪的游戏,就是找出一个字符串中的最小循环节。
对于最小循环节的定义:对于字符串A存在字串B,使得A是由N个完整的B组成的,那么B就是A的一个循环节,长度最小的那一个为最小循环节。
输入
多组输入。
每组输入一个字符串,长度不大于80,只包含26个小写字母。
输出
输出一个字符串,代表最小循环节。
示例输入
aaaa abab
示例输出
a ab
很明显这是next数组应用的部分
if(len%(len-next[len]==0)) 说明有最小循环节,最小循环节长度为len-next[len] 否则没有最小循环节,即自身循环,此时结果就是它自己