HDU 1358 Period

2014-11-23 20:00:47 · 作者: · 浏览: 14

题意:求该字符串(前面一部分)存在循环的最小循环节是多少,输出所有满足该条件的 前缀长度和最小循环节长度

#include 
char P[1000010];//从0开始存
int f[1000010];//记录P的自我匹配
int Len;
void getFail(){
	int m=Len;
	f[0]=f[1]=0;
	for(int i=1;i
0 && i% (i-f[i])==0) printf("%d %d\n",i,i/(i-f[i])); printf("\n"); } return 0; }