1352 - 算法4-6:KMP字符串模式匹配算法实现

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

KMP算法是字符串模式匹配算法中较为高效的算法之一,其在某次子串匹配母串失败时并未回溯母串的指针而是将子串的指针移动到相应的位置。严蔚敏老师的书中详细描述了KMP算法,同时前面的例子中也描述了子串移动位置的数组实现的算法。前面你已经实现了子串移动的数组,现在就来利用该数组来实现KMP模式匹配。

下面是相应的算法:

<!--[if gte mso 9]>MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0<![endif]-->

<span style="font-size:10.5000pt;font-family:'宋体';">图:<span>KMP</span><span>算法</span></span>

题目输入

3组字符串,每组字符串占一行。每行包含由空格分隔的两个字符串,字符串仅由英文小写字母组成且长度不大于100

题目输出

每组数据输出1行,输出后一个字符串在前一个字符串中的位置,如果不匹配,则输出0

输入/输出样例

输入格式

string str
thisisalongstring isa
nosubstring subt

输出格式

1
5
0