HDU_2594 Simpsons’ Hidden Talents

来源:互联网 发布:mac os x 最新版本 编辑:程序博客网 时间:2024/06/10 07:32

AC代码:

#include<stdio.h>#include<string.h>#define max 50005char s[max];char t[max];int next[max];int len1;int len2;void get_next(){    int i=0;    int j=-1;    next[0]=-1;    while(i<len1)    {        if(j==-1||t[i]==t[j])        {            i++;            j++;            next[i]=j;        }        else        {            j=next[j];        }    }}void kmp(){    int i=0;    int j=0;    while(i<len2)    {        if(j==-1||s[i]==t[j])        {            i++;            j++;        }        else        {            j=next[j];        }    }    if(j==0)    {        printf("%d\n",j);    }    else    {        int k;        for(k=0;k<j;k++)        {            printf("%c",t[k]);        }        printf(" %d\n",j);    }}int main(){    while(scanf("%s%s",t,s)!=EOF)    {        len1=strlen(t);        len2=strlen(s);        memset(next,0,sizeof(next));        get_next();        kmp();    }    return 0;}


0 0
原创粉丝点击