HDU-2087 C算法中,剪花布条问题如何用KMP算法实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计653个文字,预计阅读时间需要3分钟。
http://acm.hdu.edu.cn/showproblem.php?pid=2087一道花布条纹题,涉及一些图例,另外有一块可直接使用的装饰条,其中也有一些图例。对于给定的花布条纹和装饰条,计算一下能从花布条纹中剪出几块装饰条。
acm.hdu.edu.cn/showproblem.php?pid=2087
Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。
Output输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。
Sample Input
abcde a3 aaaaaa aa #
Sample Output
0
3
对于aaaaaa aa这个样例,为:aa aa aa 为三个。不可重叠。
kmp基本的求next数组。代码中,当j==-1时 ,表示匹配完成一段,判断时当j==-1时,i++,跳入下一个匹配段,j=0表示从匹配段的头开始。
本文共计653个文字,预计阅读时间需要3分钟。
http://acm.hdu.edu.cn/showproblem.php?pid=2087一道花布条纹题,涉及一些图例,另外有一块可直接使用的装饰条,其中也有一些图例。对于给定的花布条纹和装饰条,计算一下能从花布条纹中剪出几块装饰条。
acm.hdu.edu.cn/showproblem.php?pid=2087
Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。
Output输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。
Sample Input
abcde a3 aaaaaa aa #
Sample Output
0
3
对于aaaaaa aa这个样例,为:aa aa aa 为三个。不可重叠。
kmp基本的求next数组。代码中,当j==-1时 ,表示匹配完成一段,判断时当j==-1时,i++,跳入下一个匹配段,j=0表示从匹配段的头开始。

