标签:
Time Limit: 3000MS | Memory Limit: 65536K | |
Total Submissions: 38544 | Accepted: 16001 |
Description
Input
Output
Sample Input
abcd aaaa ababab .
Sample Output
1 4 3
Hint
Source
#include <cstdio> #include <cstring> #include <iostream> using namespace std; char str[1000010]; int len, NeXt[1000010]; void GetP() { int i = 0, j = -1; NeXt[i] = j; while(i < len) { if(j == -1 || str[i] == str[j]) { i++; j++; if(str[i] != str[j]) NeXt[i] = j; else NeXt[i] = NeXt[j]; } else j = NeXt[j]; } } int main() { while(gets(str), str[0] != ‘.‘) { len = strlen(str); GetP(); if(len%(len-NeXt[len])==0) printf("%d\n", len/(len-NeXt[len])); else printf("1\n"); } return 0; }
标签:
原文地址:http://www.cnblogs.com/fengshun/p/4823239.html