B - KMP模式匹配 二(串)
来源:互联网 发布:ubuntu 安装中文支持 编辑:程序博客网 时间:2024/06/05 01:56
B - KMP模式匹配 二(串)
Time Limit:1000MS Memory Limit:131072KB 64bit IO Format:%lld & %lluDescription
输入一个主串和一个子串,用KMP进行匹配,问进行几趟匹配才成功,若没成功,则输出0;
Input
输入一个主串和一个子串
匹配Sample Input的趟数
Sample Input
ababcabcacbababcacSample Output
3代码:
#include <iostream>#include <cstring>using namespace std;int len,lens;void getnext(char str[],int next[]){ int i,j; i=1;j=0; next[1]=0; while(i<=len) { if(j==0||str[i]==str[j]) { ++i;++j; next[i]=j; } else j=next[j]; }}int kmpindex(char s[],char str[]){ int i,j,p;i=1;j=1;p=1; int next[10000]; getnext(str,next);while(i<=lens&&j<=len){if(j==0||s[i]==str[j]){i++;j++;}else{j=next[j];p++;}}if(j>len)return p;}int main(){char str[10000];char s[100000];int i,j;cin>>s;cin>>str;lens=strlen(s);len=strlen(str);for(j=len;j>0;j--)str[j]=str[j-1];int k;for(k=lens;k>0;k--){s[k]=s[k-1];}int num;num=kmpindex(s,str); cout<<num<<endl;return 0;}
0 0
- B - KMP模式匹配 二(串)
- KMP模式匹配 二(串)
- KMP模式匹配 二(串)
- KMP算法 KMP模式匹配 二(串)
- KMP模式匹配 二
- YTU 2296: KMP模式匹配 二(串)
- 模式串匹配:KMP
- KMP 模式串匹配
- 模式匹配(KMP)
- 模式匹配之KMP算法的理解(二)
- 串的模式匹配算法(KMP)
- A - KMP模式匹配 一(串)
- C - KMP模式匹配 三(串)
- KMP模式匹配 一(串)
- KMP模式匹配 一(串)
- KMP模式匹配 三(串)
- 模式串匹配(KMP算法)
- KMP算法 KMP模式匹配 一(串)
- 用 Maven 做项目管理
- Eclipse中Maven WEB工程tomcat项目添加调试以及项目发布细节记录
- 使用CAShapeLayer与UIBezierPath画出想要的图形 -- 下载进度条
- 微信摇一摇抽奖将改变人们的娱乐方式
- 利用TeamViewer + CCproxy实现翻过公司上网限制
- B - KMP模式匹配 二(串)
- 我所接触的开源代码
- poj 2516 最小费用最大流
- 杭电ACM2019数列有序!------20140729
- Java编程思想(一) —— 一切都是对象及内存分配
- Hibernate实体类 == 领域模型 ?
- Struts.xml文件模块化管理 配置多个struts.xml文件
- 通信协议之序列化
- WM_COPYDATA进行进程之间的数据通信