HDU2087 剪花布条 KMP模板
来源:互联网 发布:阿里云 数据库 用法 编辑:程序博客网 时间:2024/06/10 01:29
K - 剪花布条
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uDescription
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?
Input
输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。
Output
输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。
Sample Input
abcde a3aaaaaa aa#
Sample Output
03
#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;int n,m;char a[1005],b[1005],p[1005];void find();int kmp();int main(){int i,j,k;while(scanf("%s",a)){if(a[0]=='#')break;scanf("%s",b);n=strlen(a);m=strlen(b);find();printf("%d\n",kmp());}return 0;}void find(){int i,j=-1;p[0]=-1;for(i=1;i<m;i++){if(j>=0 && b[j+1]!=b[i])j=p[j];if(b[j+1]==b[i])j++;p[i]=j;}}int kmp(){int i,j,k,ans=0;j=-1;for(i=0;i<n;i++){while(j>=0 && a[i]!=b[j+1])j=p[j];if(a[i]==b[j+1])j++;if(j==m-1){ans++;j=-1;}}return ans;}
1 0
- HDU2087-剪花布条-KMP模板
- HDU2087 剪花布条 KMP模板
- hdu2087 剪花布条--KMP
- HDU2087 剪花布条 [KMP]
- hdu2087 剪花布条 KMP
- hdu2087 剪花布条 kmp
- hdu2087剪花布条[KMP]
- hdu2087 剪花布条【kmp】
- HDU2087--剪花布条 (KMP)
- KMP 模板+简单讲析 【HDU2087】 剪花布条
- HDU2087-剪花布条(KMP算法)
- hdu2087剪花布条(kmp)
- hdu2087 剪花布条(KMP)
- hdu2087 剪花布条(KMP)
- 【hdu2087】剪花布条——KMP
- hdu2087剪花布条(kmp)
- hdu2087 剪花布条(简单KMP)
- hdu2087 剪花布条(kmp)
- HDU 1754 I Hate It!(线段树)
- SCU2016-07 T题 prim算法
- jeasyui插件扩展datagrid-filter的改善
- 改变图片尺寸大小不改变像素
- HDOJ 1702 ACboy needs your help again!
- HDU2087 剪花布条 KMP模板
- 模拟Home键点击效果
- codeforce C Plant
- poj 3625 Building Roads(最小生成树)
- codeforces 689D
- WeakReference与SoftReference
- JavaScript COOKIE 操作总结
- 2012杭州现场赛 H - Friend Chains dijkstra+邻接表
- 实习总结——sql语句的重要性