poj 3461 Oulipo (KMP 模板题)

来源:互联网 发布:阿隆戈登数据 虎扑nba 编辑:程序博客网 时间:2024/05/20 05:30

直接套模板=w=


#include<cstdio>#include<cstring>char s[10010];char t[1000100];int nex[10010];void getnext(char *s){memset(nex,0,sizeof(nex));int j=0,k=1;int len=strlen(s+1);nex[1]=0;while(k<=len){if(j==0||s[j]==s[k]){j++;k++;nex[k]=j;}elsej=nex[j];}}int kmp(char *s,char *t){int j=1,i=1,sum=0;int len=strlen(t+1);int len2=strlen(s+1);while(i<=len){if(j==0||t[i]==s[j]){i++;j++;}elsej=nex[j];if(j>len2){sum++;j=nex[j];}}return sum;}int main(){int n;scanf("%d",&n);while(n--){scanf("%s%s",s+1,t+1);getnext(s);printf("%d\n",kmp(s,t));}return 0;}


0 0
原创粉丝点击