标签:
Description
Input
Output
Sample Input
Sample Output
#include <stdio.h> #include <string.h> using namespace std; const int maxn=1000001; char a[maxn]; char b[maxn]; int n[maxn]; int len,len1; void get_next() { int i=0; int j=-1; n[0]=-1; while(i<len) { if(j==-1||a[i]==a[j]) { i++; j++; n[i]=j; } else j=n[j]; } } int main() { int q=1; while(scanf("%d",&len)!=EOF&&len) { memset(n,0,sizeof(n)); scanf("%s",a); get_next(); printf("Test case #%d\n",q++); for(int i=2;i<=len;i++) { if(i%(i-n[i])==0&&n[i]) { printf("%d %d\n",i,i/(i-n[i])); } } printf("\n"); } return 0; }
标签:
原文地址:http://www.cnblogs.com/tianmin123/p/4666317.html