poj 2406 Power Strings

来源:互联网 发布:网络调查软件 编辑:程序博客网 时间:2024/04/25 13:01
http://poj.org/problem?id=2406(关于next数组含义的应用,改几行代码就可以A掉1961) #include<stdio.h>#include<string.h>char str[1000000];int next[1000000];void get_next(char *p){   next[0]=0;   int i=0,j=1;   int len=strlen(p);   while(j<len)   {     if(i==0||p[i]==p[j])     {       i++;       j++;       next[j]=i;     }else i=next[i];   }}  int main(){    while(scanf("%s",str))    {       if(str[0]=='.') break;       int len=strlen(str);       get_next(str);       if(len%(len-next[len])==0) printf("%d\n",len/(len-next[len]));       else printf("1\n");    }    return 0;}