POJ 2572 Seek the Name, Seek the Fame

来源:互联网 发布:网络大神级作家排行榜 编辑:程序博客网 时间:2024/04/30 11:59

简单的KMP,不解释

#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;int next[400005];int num[400005];int main(){    int i,j,len;    char str[400005];    while(scanf("%s",str)!=EOF)    {        len=strlen(str);        memset(next,0,sizeof(next));        j=0;        for(i=1;i<len;i++)        {            while(j>0&&str[i]!=str[j])                j=next[j-1];            if(str[i]==str[j]) j++;            next[i]=j;        }        j=len;        int k=0;        while(j>0)        {            j=next[j-1];            if(j!=0) num[k++]=j;        }        for(i=k-1;i>=0;i--)            printf("%d ",num[i]);        printf("%d\n",len);    }    return 0;}


0 0
原创粉丝点击