HDU 2087-剪花布条

来源:互联网 发布:遥感大数据 编辑:程序博客网 时间:2024/05/18 17:42

HDU 2087

KMP算法

#include<stdio.h>#include<string.h>#include<algorithm>using  namespace std;char a[1001],b[1001];int nextd[1001];void gnext(){int l1=strlen(a+1);int l2=strlen(b+1);int s=1,t=0;while(s<=l2){if(t==0||b[s]==b[t]){t++;nextd[++s]=t;}elset=nextd[t];}}int  kmpd(){int l1=strlen(a+1);int l2=strlen(b+1);int cnt=0;int s=1,t=1;while(s<=l1){if(t==0||a[s]==b[t]){t++;s++;if(t==l2+1){ cnt++;s+=l2-1;}}elset=nextd[t];}return cnt;}int main(){int i,j,k,n,m,l1,l2,l;while(~scanf("%s",a+1)){l1=strlen(a+1);if(l1==1&&a[1]=='#')break;scanf("%s",b+1);l2=strlen(b+1);gnext();printf("%d\n",kmpd());}return 0;}




0 0
原创粉丝点击