Power Strings

来源:互联网 发布:男士商务单肩包 知乎 编辑:程序博客网 时间:2024/05/17 00:52
点击打开链接
#include <stdio.h>#include <string.h>char s [2000000];int  next[2000000];int main(){    while(scanf("%s",s)&&s[0]!= '.' )    {        int i=0,j=-1,len;        next[0]=-1;        while(s[i])        {            if(j==-1||s[i]==s[j])            {                i++;                j++;                next[i]=j;            }            else j=next[j];//            printf ("%d ",j);        }//        printf ("\n");        len = strlen(s);        i=len-j;//        printf ("%d %d\n",len,i);        if(len%i==0)            printf ("%d\n",len/i);        else            printf ("1\n");    }    return 0;}

0 0