KMP(http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2772)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char a[1000001],b[1000001];
int next[1000001];
int l,l2;
void Getnext()
{
int i=0;
int j=-1;
next[0]=-1;
while(i<l2)
{
if(-1==j||b[i]==b[j])
{
i++;
j++;
next[i]=j;
}
else j=next[j];
}
}
int main()
{
while(scanf("%s",a)!=EOF)
{
scanf("%*c%s",b);
l=strlen(a);
l2=strlen(b);
Getnext();
int i=0;
int j=0;
while(i<l&&j<l2)
{
if(a[i]==b[j]||j==-1)
{
i++;
j++;
}
else j=next[j];
}
if(j>=l2) printf("%d\n",i-l2+1);//判断条件
else printf("-1\n");
}
return 0;
}
KMP(http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2772)的更多相关文章
- KMP(http://acm.hdu.edu.cn/showproblem.php?pid=1711)
http://acm.hdu.edu.cn/showproblem.php?pid=1711 #include<stdio.h> #include<math.h> #inclu ...
- KMP应用http://acm.hdu.edu.cn/showproblem.php?pid=2594
riemann与marjorie拼接后riemannmarjorie前缀与后缀公共部分为 rie 长度为 3(即next[l] = next[14]的值,l为拼接后的长度)但:aaaa与aa拼接后aa ...
- C语言基础部分练习(http://acm.hgnu.edu.cn)
前言 最近有朋友和同学找我要c语言基础练习答案,为了方便分享,放在我的博客上了,如果对你确实有帮助,可以考虑点下赞或打赏哦(都能通过,没有专注于搞算法,所以有的地方可以优化,欢迎在评论区留言) A. ...
- 8.14比赛j题 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87813#overview
就我个人来说我觉得这道题其实不用写题解,只是因为做的时候错了一次,如果不是队友细心,我根本会错下去,所以我感觉自己必须强大#include<stdio.h> #include<str ...
- (暂时弃坑)(半成品)ACM数论之旅18---反演定理 第二回 Mobius反演(莫比乌斯反演)((づ ̄3 ̄)づ天才第一步,雀。。。。)
莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d ...
- HDU 5458 Stability(双连通分量+LCA+并查集+树状数组)(2015 ACM/ICPC Asia Regional Shenyang Online)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5458 Problem Description Given an undirected connecte ...
- Hdu OJ 5884-Sort (2016 ACM/ICPC Asia Regional Qingdao Online)(二分+优化哈夫曼)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5884 题目大意:有n个有序的序列,对于第i个序列有ai个元素. 现在有一个程序每次能够归并k个序列, ...
- HDU 5029 Relief grain(离线+线段树+启发式合并)(2014 ACM/ICPC Asia Regional Guangzhou Online)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5029 Problem Description The soil is cracking up beca ...
- kmp(前缀出现次数next应用)
http://acm.hdu.edu.cn/showproblem.php?pid=3336 Count the string Time Limit: 2000/1000 MS (Java/Other ...
随机推荐
- C#实现HTTP请求文件下载,GET、POST请求的数据流接收
做项目的时候由于插件Phaser请求audio的时候,不允许跨域,具体提示====> 已拦截跨源请求:同源策略禁止读取位于 http://ttyouni.com/1.mp3 的远程资源.(原因: ...
- 【Drools-开源业务规则引擎】入门实例(含源码)
该实例转自:http://blog.csdn.net/quzishen/article/details/6163012 便于理解的应用实例1: 现在我们模拟一个应用场景:网站伴随业务产生而进行的积分发 ...
- stylus--css 框架使用方法
Stylus是一款需要编译的css语言,所以其本身文件不能被html直接调用,需要要编译为css文件后再进行日常的加载. stylus是一款优秀的css编译语言,需要node.js支持,第一步需要 ...
- hbuilder在android手机里用chrome调试,只显示了设备名称,却没有inspect按钮
stark 通过“菜单”->“工具”->“检查设备”打开设备检查页面,只显示了设备名称,却没有inspect按钮,要怎么办 1 赞2014-10-09 22:00 ============ ...
- sencha touch 类的使用
sencha touch 有一套自己的类机制,可以以面向对象的方式去写代码,封装业务逻辑,sencha touch 的组件.插件.api等都建立在这一套类机制的上面 在实际开发中,我们需要遵循这一套机 ...
- sencha touch 在线实战培训 第一期 第七节
2014.1.13晚上8点过一点开的课 本期培训一共八节,前三堂免费,后面的课程需要付费才可以观看. 本节内容: 非结构化数据传输 通过js调取phonegap实现图片采集.上 ...
- [原]Failed to load SELinux policy. System Freezing ----redhat7or CentOS7 bug
重启rhel7或者centos7 启动界面按 e 在启动项后面加上enforcing=0 Ctrl+x 运行修改后的grub 进入系统 编辑保存/etc/selinux/config 重启
- facebook login issue
If enable the facebook account in settings, when change account can't open the session. -(void)fbRes ...
- CMOS构成的常见电路
CMOS门电路 以MOS(Metal-Oxide Semiconductor)管作为开关元件的门电路称为MOS门电路.由于MOS型集成门电路具有制造工艺简单.集成度高.功耗小以及抗干扰能力强等优点,因 ...
- Unity3D笔记十三 摄像机之间切换
using UnityEngine; using System.Collections; public class _5_6 : MonoBehaviour { private GameObject ...