poj 3461 Oulipo
来源:互联网 发布:证件照软件下载 编辑:程序博客网 时间:2024/05/16 09:46
kmp算法的简单应用,同上一个不同的是这里要统计个数,只需将kmp函数稍作修改就行了。
#include <cstdio>#include <cstring>using namespace std;int m,n;char w[10005],t[1000005];int next[10005];void get(){int j=0,k=-1;next[0]=-1;while(j<m){if(k==-1||w[j]==w[k]){next[++j]=++k;}elsek=next[k];}}int kmp(){int sum=0;int i=0,k=0;while(i<n&&k<m){if(k==-1||t[i]==w[k]){k++;i++;}else{k=next[k];}if(k==m) //如果将这个判断放在循环的开始,循环的条件要改为i<=n&&k<=m 否则会漏解{//i=i-m+1; //这里并不需要改变i的位置k=next[k];sum++;}}return sum;}int main(){ //freopen("in.txt","r",stdin);int g;scanf("%d",&g);while(g--){memset(next,0,sizeof(next));scanf("%s%s",w,t); m=strlen(w); n=strlen(t);get();int ans=kmp();printf("%d\n",ans);}}
0 0
- POJ 3461 Oulipo
- POJ-3461 Oulipo
- poj 3461 Oulipo
- poj 3461 Oulipo(KMP)
- poj 3461 Oulipo
- POJ-3461-Oulipo
- POJ 3461 Oulipo(KMP)
- POJ 3461 Oulipo
- POJ 3461 Oulipo
- POJ 3461 Oulipo
- POJ 3461 Oulipo---kmp
- POJ 3461 Oulipo KMP
- poj-Oulipo -3461
- POJ 3461 Oulipo
- POJ 3461 Oulipo
- POJ 3461 Oulipo
- poj 3461 Oulipo
- poj 3461 Oulipo
- 学习的逻辑 2: 职业半山腰
- 通过自定义ListView解决在scrollView中的嵌套问题
- 网络通信--TCP
- poj 3126 Prime Path
- 16-01-常用对象API(基本数据类型对象包装类-概述)
- poj 3461 Oulipo
- 深入浅出Android makefile(3)--LOCAL_SRC_FILES
- React 创建自定义控件
- C与C++中const区别
- VS2015 android 设计器不能可视化问题解决。
- 工作8年对编程效率的一点点感悟
- 16-02-常用对象API(基本数据类型对象包装类-字符串转成基本数值)
- IOS学习笔记04-Swift语言与Objective-C语言混合编程
- zoj 1050 Start Up the Startup