Poj 3461 Oulipo(KMP算法)
来源:互联网 发布:人工智能 高端服务业 编辑:程序博客网 时间:2024/05/22 09:41
题意是:先输入一个n代表数据的个数,然后每组数据都有两个字符串A和B,求B中一共存在多少个A。
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;char s[10010],e[1000010];int next[1000010];void getnext(char *s,int *next,int len){ int i,j; next[0]=-1; i=0; j=-1; while(i<len) { if(j==-1||s[j]==s[i]) { i++; j++; next[i]=j; } else j=next[j]; }}int kmp(char *e,char *s) { int i,j,k; int L1,L2; i=j=k=0; L1=strlen(e); L2=strlen(s); getnext(s,next,L2); while(i<L1) { if(e[i]==s[j]) { i++; j++; } else { j=next[j]; if(j==-1) { i++;j=0; } } if(j==L2) k++; } return k;}int main(){ int t,i,j,k; scanf("%d",&t); while(t--) { scanf("%s",s); scanf("%s",e); k=kmp(e,s); printf("%d\n",k); } return 0;}
- Poj 3461 Oulipo(KMP算法)
- POJ 3461 Oulipo (KMP算法)
- kmp算法(POJ 3461 Oulipo)
- poj 3461 Oulipo KMP算法
- poj 3461 Oulipo KMP算法
- POJ 3461 - Oulipo(KMP)
- POJ-3461 Oulipo(KMP)
- Poj 3461 Oulipo (KMP)
- POJ---3461-Oulipo(KMP)
- POJ 3461 Oulipo(KMP)
- POJ 3461 Oulipo(KMP)
- 【POJ 3461】Oulipo(kmp)
- poj 3461 Oulipo(KMP)
- poj 3461 Oulipo(KMP)
- 字符串匹配之KMP算法(POJ 3461 Oulipo)
- POJ 3461 Oulipo KMP算法题解
- poj 3461 Oulipo(KMP 字符串匹配算法)
- poj 3461 Oulipo 字符串匹配 KMP算法
- J2EE基础的一些了解
- linux虚拟文件系统浅析
- poj1942 Paths on a Grid
- 卦卦学mysql系列(3)——mysql入门 数据表内的操作
- 我什么都不会网络系统架构
- Poj 3461 Oulipo(KMP算法)
- J2EE中的13种技术规范
- suid
- JNI 入门介绍(jstring与char*的转换)
- iphone -- Notification使用
- 冒烟测试
- Java中使用C3P0连接池
- Hadoop LZO的安装与配置
- php的public、protected、private三种访问控制模式的区别