亲和串

原创 2015年07月07日 16:01:44


http://acm.hdu.edu.cn/showproblem.php?pid=2203

#include<iostream>
#include<cstring>
using namespace std;
char s1[100010],s2[100010],c[200010],next1[100010];
void getnext(char *s2,int len2)
{
 int i=0,j=-1;
 next1[0]=-1;
 while(i<len2)
 {
  if(j==-1 || s2[i]==s2[j])
  {
   i++;
   j++;
   next1[i]=j;
  }
  else
   j=next1[j];
 }
}
int main()
{//freopen("C:\\Users\\John\\Desktop\\hi.txt","r",stdin);
 int i,j,ok;
 while(cin>>s1>>s2)
 {
  memset(c,0,sizeof(c));
  ok=0;
  strcat(c,s1);
  strcat(c,s1);
  int len1=strlen(c);
  int len2=strlen(s2);
  if(len1<len2)
  {
   cout<<"no"<<endl;
   continue;
  }
  getnext(s2,len2);
  for(i=0,j=0;i<len1;)
  {
   if(j==-1 || c[i]==s2[j])
    i++,j++;
   else
    j=next1[j];
   if(j==len2)
   {
    ok=1;
    break;
   }
  }
  if(ok==1)
   cout<<"yes"<<endl;
  else
   cout<<"no\n";
 }
 return 0;
}

相关文章推荐

亲和串

G - 亲和串 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:32768KB     64bit...

hdu 2203 亲和串

亲和串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm...
  • wyjwyl
  • wyjwyl
  • 2015年08月10日 16:51
  • 222

hdu2203亲和串(kmp+)

亲和串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm...
  • zs520ct
  • zs520ct
  • 2016年04月26日 09:07
  • 107

hdoj 2203 亲和串(字符串处理问题(strstr函数的巧用))

/* 亲和串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

HDU 2203 亲和串 (KMP或者strstr)

HDU 2203 亲和串 (KMP或者strstr)

HDU 2203 亲和串(简单KMP,不过需要预判断)

亲和串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm...
  • opm777
  • opm777
  • 2013年08月06日 13:07
  • 906

HDU 2203 亲和串 小白题解(字符串查找)

HDU 2203 亲和串 小白题解(字符串查找) 题目分析:这道题目首先要理解字符串的循环移位是什么意思,我们假定s1为abcdefg,那么这个字符串循环左移1位的结果就是bcdefga(将每个字母左...

HDU 2203 亲和串 ACM

HDU 2203 亲和串 ACM题目
  • tuotq
  • tuotq
  • 2015年10月11日 19:34
  • 635

ACM HDOJ 2203 (亲和串)

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2203 程序一 KMP 算法 允许变量i回溯一次 import java.util.Scanner;...

HDU 2203 亲和串(多个字符串函数的运用)

亲和串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:亲和串
举报原因:
原因补充:

(最多只允许输入30个字)