#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. 一个CS出身的基本素养

    从前天10号提交Paper之后,连三个晚上之后突然正常起来竟然变成倒时差状态. 这周打算给自己一个空窗期,好好想想下两到三个月要做的事. 好吧,除了"一日一算法",当下两个月还有一 ...

  2. elasticsearch 性能优化

    #系统默认的最大打开文件数的限制 vi /etc/security/limits.conf   *     -       nproc          50240    *     -       ...

  3. var a =a || {}

  4. BZOJ 1046 上升序列

    Description 对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1 < x2 < … < xm)且( ax1 < ...

  5. eclipse中tomcat内存溢出问题,报PermGen space

    场景 最近在eclipse中的tomcat服务器下放三个不同的应用程序,其中两个应用程序用到了各自的第三方jar包.刚开始时把这三个应用程序分别部署到各自的tomcat服务器运行,没问题.后来想通过第 ...

  6. Altium Designer 从导入DXF文件,并转换成板框

    大多数人都知道,PADS中导入DXF文件,然后转换成板框,是很方便的.AD也同样可以做到. PADS导入DXF见:http://www.cnblogs.com/craftor/archive/2012 ...

  7. 深入浅出 Java Concurrency (4): 原子操作 part 3 指令重排序与happens-before法则

    转: http://www.blogjava.net/xylz/archive/2010/07/03/325168.html 在这个小结里面重点讨论原子操作的原理和设计思想. 由于在下一个章节中会谈到 ...

  8. cf703A Mishka and Game

    A. Mishka and Game time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  9. python数据的存储和持久化操作

    Python的数据持久化操作主要是六类:普通文件.DBM文件.Pickled对象存储.shelve对象存储.对象数据库存储.关系数据库存储. 普通文件不解释了,DBM就是把字符串的键值对存储在文件里: ...

  10. python推荐淘宝物美价廉商品 2.0

    改动: 新增功能 :可选择只看天猫或淘宝 代码模块化封装,参数配置或输入单独在一个py文件管理,主函数功能只留出参数传入在setting配置的py文件里. main.py代码: # -*- codin ...