亲和串

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 12533    Accepted Submission(s): 5667

Problem Description
人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现,现在长大了却不知道怎么去判断亲和串了,于是他只好又再一次来请教聪明且乐于助人的你来解决这个问题。
亲和串的定义是这样的:给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2 是s1的亲和串。
 
Input
本题有多组测试数据,每组数据的第一行包含输入字符串s1,第二行包含输入字符串s2,s1与s2的长度均小于100000。
Output
如果s2是s1的亲和串,则输出"yes",反之,输出"no"。每组测试的输出占一行。
 
Sample Input
AABCD
CDAA
ASD
ASDF
 
Sample Output
yes
no
 
#include<iostream>
#include<cstdio>
#include<cstring>
#include<stdlib.h>
#include<algorithm>
#include<cmath>
#include<string>
using namespace std; char a[],b[];
int Next[]; void getNext()
{
memset(Next,-,sizeof(Next)); //!!!下标从0开始和从1开始,初始化数组不同,在这TLE了好久
int m=strlen(b),k=-;
for(int i=; i<m; i++)
{
while(k>-&&b[k+]!=b[i])
k=Next[k];
if(b[k+]==b[i])
k++;
Next[i]=k;
}
} void CMP()
{
getNext();
int n=strlen(a),m=strlen(b),k=-;
for(int i=; i<n; i++)
a[i+n]=a[i];
a[*n]='\0';
n<<=;
for(int i=; i<n; i++)
{
while(k>-&&b[k+]!=a[i])
k=Next[k];
if(b[k+]==a[i])
k++;
if(k==m-)
{
puts("yes");
return;
}
}
puts("no");
} int main()
{
while(scanf("%s%s",a,b)!=EOF)
{
CMP();
}
return ;
}
 
 

最新文章

  1. 利用AOP写2PC框架(二)
  2. 开源网站.NETMVC+ Layui+SqlSugar+RestSharp
  3. 获取打开指定Action的所有应用包名
  4. TD Rigging Demo Reel 性感美女绑定展示
  5. CSS3 一、文本阴影text-shadow属性
  6. 线程---JDK查看线程
  7. 转:【前端福利】用grunt搭建自动化的web前端开发环境-完整教程
  8. Java-set
  9. jhipster
  10. MVVM模式中WPF数据的完全绑定
  11. Java堆栈(转)
  12. [笔记]NumPy基础操作
  13. 献身说法---修复bug时的一些小技巧
  14. Jmeter非GUI模式运行
  15. [SCOI 2010]传送带
  16. 9.7、Libgdx之振动器
  17. Windows -- 从注册表删除IE浏览器加载项
  18. ThreadLocal的简单使用和实现原理
  19. 【bzoj 1901】Zju2112 Dynamic Rankings
  20. Learning-Python【8】:Python字符编码

热门文章

  1. xtrabackup 恢复单表步骤
  2. 【APIO2012】【BZOJ2809】派遣dispatching
  3. MVC中动作方法三个特性以及解决同名方法冲突
  4. [Algorithm] Determine if two strings are an anagram
  5. RoseLdz源代码下载地址
  6. ObjectiveC开发教程--字符串的连接
  7. Qt学习之QListWidget删除Item
  8. struts2 一个CRUD的BaseAction
  9. BeautifulSoup中各种html解析器的比較及使用
  10. 为PhoneGap写一个android插件