HDU 2087 剪花布条
来源:互联网 发布:mac系统 high sierra 编辑:程序博客网 时间:2024/05/18 17:45
剪花布条
题目连接:点击打开链接
题意:第二个串在第一个串出现的次数(不能重叠)
思路 :kmp,当匹配到的时候,往后跳第二个串的长度
#include<iostream>#include<cstring>#include<cstdio>using namespace std;char t[2000],p[2000];int sum;void makenext(char p[],int next[]){int m,i,k;m=strlen(p);next[0]=0;for(i=1,k=0;i<m;i++){while(k>0&&p[i]!=p[k]){k=next[k-1];}if(p[i]==p[k]){k++;}next[i]=k;}}void kmp(char t[],char p[],int next[]){int i,n,m,k;n=strlen(t);m=strlen(p);makenext(p,next);for(i=0,k=0;i<n;++i){while(k>0&&p[k]!=t[i]){k=next[k-1];}if(p[k]==t[i]){k++;}if(k==m){sum++;i=i+m-1;}}cout<<sum<<endl;}int main(){int next[10010]={0};memset(t,0,sizeof t);memset(p,0,sizeof p);while(~scanf("%s",&t)){ if(t[0]==35)break;scanf("%s",&p);sum=0;kmp(t,p,next);}}
0 0
- HDU 2087 剪花布条
- HDU 2087 剪花布条
- Hdu 2087 - 剪花布条
- hdu 2087 剪花布条
- HDU 2087 剪花布条
- hdu-2087 剪花布条
- HDU 2087 剪花布条
- hdu 2087 剪花布条
- HDU 2087 剪花布条
- hdu 2087 剪花布条
- HDU 2087 剪花布条
- hdu 2087 剪花布条
- HDU 2087 剪花布条
- hdu 2087 剪花布条
- hdu 2087 剪花布条
- HDU 2087剪花布条
- HDU 2087剪花布条
- HDU 2087 剪花布条
- 模板方法模式
- 代理Delegate的小应用
- 分层模型
- Android开发中的View类的视图属性focusableInTouchMode这个属性跟focusable有什么区别?
- c#、js解析json
- HDU 2087 剪花布条
- 不用selector实现button的简单点击效果
- NPM常用命令
- codeforces 710E
- hdu 2282 Chocolate【KM匹配+建图】
- poj1276 Cash Machine-多重背包
- 陕西省集训之树状数组
- jsp的window对象的属性和方法大全
- java 两种日志的使用方式