#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 1010
using namespace std;
int ans,an[maxn],l1,l2,fail[maxn];
char s1[maxn],s2[maxn];
void kmp_init()
{
for(int i=;i<=l2;i++)
{
int p=fail[p-];
while(p&&s2[p+]!=s2[i])
p=fail[p];
if(s2[p+]==s2[i])
p++;
fail[i]=p;
}
}
void kmp_slove()
{
int p=;
for(int i=;i<=l1;i++)
{
while(p&&s2[p+]!=s1[i])
p=fail[p];
if(s2[p+]==s1[i])
p++;
if(p==l2)
{
ans++;
p=;//匹配不能重叠 所以长度变为0 重新匹配
}
}
}
int main()
{
while()
{
scanf("%s",s1+);
if(s1[]=='#')break;
scanf("%s",s2+);
l1=strlen(s1+);
l2=strlen(s2+);
ans=;
memset(fail,,sizeof(fail));
kmp_init();
kmp_slove();
printf("%d\n",ans);
}
}

HUD2087的更多相关文章

随机推荐

  1. NameNode元数据的管理机制(三)

    元数据的管理: 第一步:客户端通过DistributedFilesystem 对象中的creat()方法来创建文件,此时,RPC会 通过一个RPC链接协议来调用namenode,并在命名空间中创建一个 ...

  2. fragment 学习

    fragment需要id是必须属性 <fragment        android:id="@+id/frg1"        android:name="com ...

  3. 将日志写入EventLog

    将日志写入EventLog 面向Windows的编程人员应该不会对Event Log感到陌生,以至于很多人提到日志,首先想到的就是EventLog.EventLog不仅仅记录了Windows系统自身针 ...

  4. The Wedding Juicer

    poj2227:http://poj.org/problem?id=2227 题意:给你一块矩形区域,这个矩形区域是由一个个方格拼起来的,并且每个方格有一个高度.现在给这个方格灌水,问最多能装多少水. ...

  5. codeforces C. Mashmokh and Numbers

    题意:给你n和k,然后让你找出n个数使得gcd(a1,a2)+gcd(a3,a4)+......的和等于k: 思路:如果n为奇数,让前n-3个数的相邻两个数都为1,n-2和n-1两个数gcd为k-an ...

  6. STM32F10x 学习笔记5(USART实现串口通讯 1)

    STM32F10x 系列单片机中都包含了USART 模块,所谓USART,就是通用同步异步收发器.通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间 ...

  7. Qt之自定义托盘(两种方法)

    http://www.cnblogs.com/swarmbees/p/5789482.html http://www.cnblogs.com/swarmbees/p/5812031.html

  8. Apache HTTP Server mod_session_dbd 远程安全漏洞(CVE-2013-2249)

    漏洞版本: Apache 2.4.2 漏洞描述: BUGTRAQ ID: 61379 CVE(CAN) ID: CVE-2013-2249 Apache HTTP Server是开源HTTP服务器. ...

  9. Qt入门(11)——Qt插件

    Qt提供了一个简单地插件接口,可以轻松地生成作为独立组件的定制数据库驱动.图象格式.文本编解码器(text codec).风格(style)和部件.警告:Qt 3.0.5对插件的一些方面做了改变,具体 ...

  10. (转载)调用ob_end_flush()网页仍旧不能显示有关问题

    (转载)http://www.myexception.cn/php/558638.html 调用ob_end_flush()网页仍旧不能显示问题?写了一个简单的demo,理论上调用ob_end_flu ...