poj 3461 Oulipo(KMP,喜闻乐见纯模板)

来源:互联网 发布:淘宝客服招聘在家 编辑:程序博客网 时间:2024/06/06 03:07

纯模板。

#include<stdio.h>#include<string.h>#define N 1000005#define M 10005char s1[M],s2[N];int ln1,ln2;int next[N];void setNext(char *s){int i,j;j=-1;i=0;next[i]=j;while(i<ln1){if(j==-1||s[i]==s[j]){i++;j++;next[i]=j;}elsej=next[j];}return ;}int main(){int T;scanf("%d",&T);getchar();while(T--){gets(s1);gets(s2);int i,j;i=j=0;ln1=strlen(s1);ln2=strlen(s2);setNext(s1);int cnt=0;while(j<ln2){if(i==-1||s1[i]==s2[j]){i++;j++;if(i==ln1){cnt++;i=next[i];}}elsei=next[i];}printf("%d\n",cnt);}return 0;}