HDU2203(KMP入门题)
亲和串
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 10862 Accepted Submission(s): 4940
亲和串的定义是这样的:给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2 是s1的亲和串。
#include<cstdio>
#include<cstring>
using namespace std;
char a[];
char b[];
int lena,lenb;
int next[];
void getnext()
{
int i=,k=-;
next[]=-;
while(i<lenb)
{
if(k==-||b[i]==b[k])
{
i++;
k++;
next[i]=k;
}
else k=next[k];
}
}
int KMP()
{
getnext();
int i=,j=;
while(i<lena)
{
if(j==-||a[i]==b[j])
{
i++;
j++;
}
else j=next[j];
if(j==lenb) return i-j+;
}
return -;
}
int main()
{
while(scanf("%s%s",a,b)!=EOF)
{
lena=strlen(a);
lenb=strlen(b);
for(int i=lena;i<lena+lena;i++)
{
a[i]=a[i-lena];
}
lena+=lena;
if(KMP()!=-) printf("yes\n");
else printf("no\n");
} return ;
}
#include<cstdio>
#include<cstring>
using namespace std;
char a[];
char b[];
char t[];
int main()
{
while(scanf("%s%s",a,b)!=EOF)
{
strcpy(t,a);
strcat(a,t);
if(strstr(a,b)!=NULL) printf("yes\n");
else printf("no\n");
}
return ;
}
HDU2203(KMP入门题)的更多相关文章
- zstu.4194: 字符串匹配(kmp入门题&& 心得)
4194: 字符串匹配 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 206 Solved: 78 Description 给你两个字符串A,B,请 ...
- hdu 1358 Period(KMP入门题)
Period Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- HDU2087(KMP入门题)
剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- HUD1686(KMP入门题)
Oulipo Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- HDU1711(KMP入门题)
Number Sequence Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 题解报告:hdu 2087 剪花布条(KMP入门)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面 ...
- HDU 2222 Keywords Search AC自己主动机入门题
单词统计的题目,给出一些单词,统计有多少单词在一个文本中出现,最经典的入门题了. AC自己主动机的基础: 1 Trie. 以这个数据结构为基础的,只是添加一个fail指针和构造fail的函数 2 KM ...
- hdu 3695:Computer Virus on Planet Pandora(AC自动机,入门题)
Computer Virus on Planet Pandora Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 256000/1280 ...
- poj 2524:Ubiquitous Religions(并查集,入门题)
Ubiquitous Religions Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 23997 Accepted: ...
随机推荐
- android相关文件夹的存取方式与函数解析---全
因为排版问题.转为markdown编辑: http://blog.csdn.net/self_study/article/details/58587412
- java多个文件压缩下载
public static void zipFiles(File[] srcfile,ServletOutputStream sos){ byte[] buf=new byte[1024]; try ...
- python(17)- 迭代器和生成器及应用
什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象 ...
- C++风格的强制性类型转换
显示类型转换 被称为强制类型转换(cast) C风格:(type_id) C++风格:static_cast, dynamic_cast, reinterpret_cast, const_cast 在 ...
- JavaScript插件编写指南
在编写插件之前,大家要先了解做插件的几个要点: 插件需要满足的条件 一个可复用的插件需要满足以下条件: 插件自身的作用域与用户当前的作用域相互独立,也就是插件内部的私有变量不能影响使用者的环境变量: ...
- 已迁移到http://www.coffin5257.com
点我直达
- Unity3D 调用Java,Java调用Unity3D
1.无返回值 AndroidJavaClass fee = new AndroidJavaClass("com.wiker.Test"); fee.CallStatic(" ...
- React Examples
是时候拿React练练手了~ https://reactjs.org/community/examples.html https://daveceddia.com/react-practice-pro ...
- vuex 介绍
vuex是为vue.js开发的状态管理模式,负责vue的状态管理,状态管理是干啥的呢,举个栗子,比如一个酒店,哪间屋子入住了客人,哪间屋子客人退房了,客人退房后,房间有没有清扫过,这些都需要去记录,以 ...
- MySQL 启动报错:File ./mysql-bin.index not found (Errcode: 13)
Linux下安装初始化完MySQL数据库之后,使用mysqld_safe启动mysql数据库,如下发现,启动失败 [root@SVNServer bin]# ./mysqld_safe –user=m ...