标签:const 链接 printf names namespace each efi opened scanf
链接:http://poj.org/problem?id=2406
Time Limit: 3000MS | Memory Limit: 65536K | |
Description
Input
Output
Sample Input
abcd aaaa ababab .
Sample Output
1 4 3
Hint
#include<iostream> #include<cstdio> #include<cstring> using namespace std; const int M = 1e6 + 5; char c[M]; int len, fail[M]; void init(){ fail[0] = -1; int i = 0, j = -1; while(i < len){ if(j == -1 || c[i] == c[j]) i++, j++, fail[i] = j; else j = fail[j]; } } int main(){ while(scanf("%s", c)){ if(c[0] == ‘.‘)break; len = strlen(c); init(); if(len % (len - fail[len]))puts("1"); else printf("%d\n", len / ( len - fail[len])); } }
标签:const 链接 printf names namespace each efi opened scanf
原文地址:https://www.cnblogs.com/EdSheeran/p/9396148.html