KMP的简单应用(SDUT 2772)
来源:互联网 发布:负载均衡网络拓扑图 编辑:程序博客网 时间:2024/05/24 04:14
KMP简单应用
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给定两个字符串string1和string2,判断string2是否为string1的子串。
输入
输入包含多组数据,每组测试数据包含两行,第一行代表string1(长度小于1000000),第二行代表string2(长度小于1000000),string1和string2中保证不出现空格。
输出
对于每组输入数据,若string2是string1的子串,则输出string2在string1中的位置,若不是,输出-1。
示例输入
abca12345645abcddd
示例输出
14-1
#include <stdio.h>#include <string.h>char s[1000010],t[1000010];int next[1000010];void get_next(){ int i=1,j=0; int len=strlen(t); next[1]=0; while(i<=len) { if(j==0||t[i-1]==t[j-1]) { i++; j++; next[i]=j; } else { j=next[j]; } }}int KMP(){ int len1=strlen(s); int len2=strlen(t); int i=1,j=1; while (i<=len1&&j<=len2) { if(s[i-1]==t[j-1]||j==0) { i++; j++; } else { j=next[j]; } } if(j>len2) return i-len2; else return -1;}int main(){ while (~scanf("%s",s)) { scanf("%s",t); int len=strlen(t); get_next(); int ans=KMP(); printf("%d\n",ans); } return 0;}
0 0
- KMP的简单应用(SDUT 2772)
- SDUT KMP简单应用
- [SDUT](2772)数据结构实验之串一:KMP简单应用 ---KMP(串)
- SDUT 2772 数据结构实验之串一:KMP简单应用
- SDUT 2772 数据结构实验之串一:KMP简单应用
- SDUT 3311 KMP的应用
- SDUT—2772—数据结构实验之串一:KMP简单应用
- SDUT 2272 数据结构实验之串一:KMP简单应用
- 数据结构实验之串一:KMP简单应用 (sdut oj2772)
- sdut oj2772 数据结构实验之串一:KMP简单应用
- kmp的简单应用
- KMP的简单应用
- 【2772】KMP的简单应用 sdutOJ
- sdut2772 KMP的简单应用
- SDUTOJ 2772--KMP简单应用
- SDUTOJ 2772 KMP简单应用
- [SDUT](3311)数据结构实验之串三:KMP应用 ---KMP(串)
- SDUT-3311-买糖-KMP应用
- java多线程(二)——concurrent库
- 随机数不是事!^~^
- 寒小阳
- 笔试 - 2014创新工场涂鸦移动校园招聘测试题 及 答案
- Eclipse不能识别手机或模拟器的解决方案!
- KMP的简单应用(SDUT 2772)
- 在三角形上添加纹理
- iOS开发- 蓝牙后台接收数据(BLE4.0)
- 自动分配IP地址让局域网更高效的管理--DHCP
- 【SSH2(实践篇)】--Struts2文件上传下载实例
- android 单位换算
- poj-2109 Power of Cryptography
- LeetCodeOJ--Reverse Words in a String
- 强烈推荐《深入浅出JavaScript》(beginning JavaScript with DOM Scripting and Ajax