#P803. 最小循环节

最小循环节

题目描述

给定一个字符串 ss,请找出 ss 的最小循环节。所谓 ppss 的循环节,是指将 pp 重复拼接多次之后,ss可以成为这个字符串的前缀 。

譬如 s=ababas=ababa,则 p=abp=ab 是循环节,因为 ssabababab...abababab... 的前缀。

所谓最小循环节,是指所有循环节中长度最小的字符串。

输入格式

  • 一个字符串表示 ss,保证只包含小写字母。

输出格式

  • 单个整数表示最小循环节的长度。
ababa
2

数据范围

  • 30%30\% 的数据,1s10001\leq |s|\leq 1000
  • 60%60\% 的数据,1s20,0001\leq |s|\leq 20,000
  • 100%100\% 的数据,1s300,0001\leq |s|\leq 300,000