hdu 1686 KMP
2017-05-28 18:46
232 查看
#include<cstdio> #include<cstring> char p[10010],t[1000100]; int next[10010]; void init(char *p,int *next) { int m=strlen(p); next[0]=0; next[1]=0; for(int i=1;i<m;i++) { int j=next[i]; while(j&&p[i]!=p[j]) j=next[j]; next[i+1]=p[i]==p[j]?j+1:0; } } int kmp(char *p,char *t) { int n=strlen(t),m=strlen(p); int j=0,res=0; for(int i=0;i<n;i++) { while(j&&t[i]!=p[j]) { j=next[j]; } if(t[i]==p[j]) j++; if(j==m) res++; } return res; } int main() { int T; scanf("%d",&T); while(T--) { scanf("%s",p); scanf("%s",t); init(p,next); printf("%d\n",kmp(p,t)); } }
相关文章推荐
- hdu 1686 Oulipo KMP匹配次数统计
- hdu 1686 Oulipo(KMP)
- KMP板子题 HDU - 1686
- KMP板子题 HDU - 1686
- Hdu 1686 Oulipo[kmp]
- HDU 1686 Oulipo / POJ 3461 Oulipo / SCU 2652 Oulipo (字符串匹配,KMP)
- hdu-1686-Oulipo(KMP)
- hdu 1686 KMP
- hdu-1686-Oulipo (简单kmp)
- HDU - 1686 Oulipo(KMP)
- KMP——HDU 1686 Oulipo
- HDU - 1686 KMP裸题
- HDU- KMP模板题 - 1686 Oulipo - 2087 剪花布条 - 3746 Cyclic Nacklace
- HDU - 1686 Oulipo KMP匹配运用
- HDU-1686 - Oulipo - KMP
- 【KMP】hdu 1686 Oulipo(外:hdu 2203 亲和串)
- hdu 1686 Oulipo【kmp】
- hdu 1686 KMP
- HDU-1686(KMP模版)
- HDU 1686 最基础的KMP