HDU
来源:互联网 发布:canonmg3680清零软件 编辑:程序博客网 时间:2024/06/16 08:08
题目大意:
题目大意:
中文题,题目背景就不说了,抽象化就是给你两个字符串,问你把第一个字符串切成若干条,能得到多少第二个字符串。
代码:
#include<iostream>#include<math.h>#include<stdio.h>#include<string.h>#define maxn 1050using namespace std;char m[maxn];char a[maxn];int my_next[maxn];void build_next(){ my_next[0]=-1; int k=-1,j=0; while(m[j]!=0) { if(k!=-1&&m[j]!=m[k]) { k=my_next[k];continue; } j++;k++; if(m[j]==m[k])my_next[j]=my_next[k]; else my_next[j]=k; }}int lm,la;int main(){ while(scanf("%s",a)) { if(a[0]=='#')break; scanf("%s",m); lm=strlen(m); la=strlen(a); if(la<lm) { printf("0\n"); continue; } build_next(); int num=0; int j=0,i=0; while(1) { if(i>=la)break; if(a[i]!=m[j]) { j=my_next[j]; if(j==-1) { i++;j++; } continue; } i++;j++; if(j==lm) { num++; j=0; } } printf("%d\n",num); memset(m,0,sizeof(m)); memset(a,0,sizeof(a)); memset(my_next,0,sizeof(my_next)); }}
阅读全文
0 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- Mongo学习笔记
- eclipse中使用git
- 基于事件触发的开源框架EventTrigger
- 计蒜客 单独的数字(位运算)
- 《Qt串口通信》--实时显示接收的数据
- HDU
- 2016校招真题——发奖金
- [bzoj4878]挑战NP-Hard
- java基础--5.集合-5.List接口
- Socket通信原理探讨(C++为例)
- 父子进程的双向通讯简明解读(c程序)。
- break,continue,return知识点
- qscoj:默契值(状压DP)
- java容器类的继承结构