KMP模板
2016-11-17 21:05
316 查看
1 var s,t:array[0..2000000]of char; 2 next:array[0..2000000]of longint; 3 cas,v,i,n,m,ans:longint; 4 5 procedure getnext; 6 var i,j:longint; 7 begin 8 i:=0; j:=1; 9 next[1]:=0; 10 while j<=n do 11 begin 12 if (i=0)or(s[i]=s[j]) then 13 begin 14 inc(i); inc(j); 15 next[j]:=i; 16 end 17 else i:=next[i]; 18 end; 19 end; 20 21 procedure kmp; 22 var i,j:longint; 23 begin 24 i:=1; j:=1; 25 while j<=m do 26 begin 27 if (i=0)or(s[i]=t[j]) then 28 begin 29 inc(i); inc(j); 30 if i>n then 31 begin 32 inc(ans); 33 i:=next[i]; 34 end; 35 end 36 else i:=next[i]; 37 38 end; 39 end; 40 41 begin 42 43 readln(cas); 44 for v:=1 to cas do 45 begin 46 n:=0; m:=0; 47 while not eoln do 48 begin 49 inc(n); read(s ); 50 end; 51 readln; 52 while not eoln do 53 begin 54 inc(m); read(t[m]); 55 end; 56 readln; 57 getnext; 58 ans:=0; 59 kmp; 60 writeln(ans); 61 end; 62 63 end.
相关文章推荐
- KMP算法的定义及KMP练手题 HDU 1711 Number Sequence (我的模板代码)
- 【模板】扩展kmp
- hdu 3336 Count the string(扩展KMP模板)
- KMP模板与详解
- 【KMP模板】HDU 1711 Number Sequence
- hdu1711 记录一个kmp模板
- KMP模板
- 洛谷P3375【模板】KMP字符串匹配
- KMP模板
- [KMP模板题]HDU-1711 Number Sequence
- kmp模板
- 【字符串】【扩展kmp模板】
- KMP字符串匹配算法模板代码
- hdu1711(kmp纯模板)
- kmp模板 && 扩展kmp模板
- kmp模板
- KMP模板题 poj 3461 Oulipo
- KMP模板(KMP)
- 【KMP模板】
- ccpc 2017 网络赛 1004 A Secret (扩展kmp)【模板】