拼接字符串即可解决移位的问题;

代码如下:

 #include<bits/stdc++.h>
using namespace std;
typedef unsigned int ui;
typedef long long ll;
typedef unsigned long long ull;
#define pf printf
#define mem(a,b) memset(a,b,sizeof(a))
#define prime1 1e9+7
#define prime2 1e9+9
#define pi 3.14159265
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define scand(x) scanf("%llf",&x)
#define f(i,a,b) for(int i=a;i<=b;i++)
#define scan(a) scanf("%d",&a)
#define dbg(args) cout<<#args<<":"<<args<<endl;
#define inf 0x3f3f3f3f
#define maxn 1000010
int n,m,t;
char s[maxn],p[maxn],nxt[maxn];
void getnxt()
{
nxt[]=-;
int i=-,j=;
while(j<strlen(p))
{
if(i==-||p[i]==p[j])
{
i++,j++;
if(p[i]==p[j])nxt[j]=nxt[i];
else nxt[j]=i;
}
else i=nxt[i];
}
}
void kmp()
{
int plen=strlen(p);
int slen=strlen(s);
int i=,j=;
while(i<slen)
{
if(j==-||s[i]==p[j])i++,j++;
else j=nxt[j];
if(j==plen)
{
pf("yes\n");
return;
}
}
pf("no\n");
}
int main()
{
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
std::ios::sync_with_stdio(false);
while(scanf("%s %s",s,p)==)
{
if(strlen(s)<strlen(p))pf("no\n");
else{
int len=strlen(s);
f(i,,len-)s[len+i]=s[i];//解除循环
getnxt();
kmp();
}
}
}

最新文章

  1. ABP源码分析三十:ABP.RedisCache
  2. linux 安装配置Nginx
  3. 网上找的Gif图片解析类
  4. php面试题及答案
  5. grub的sol
  6. iOS——使用StroryBoard页面跳转及传值
  7. 测试驱动开发(Test-Driven Development,简称TDD)--单元测试--&gt;提高代码质量
  8. SCCM 客户端的修复
  9. Access应用日志&lt;一&gt;
  10. Codeforce 493c
  11. URAL 1658. Sum of Digits(DP)
  12. iOS-多线程--(pthread/NSThread/GCD/NSOperation)--总结
  13. 【spring 区别】ClassXmlAplicationContext和FileSystemXmlApplicationContext的区别
  14. MVC中”从客户端检测到有潜在危险的Request.Form值“的解决方法
  15. python程序中自启动appium服务
  16. c#配置log4net步骤
  17. web.xml文件中配置ShallowEtagHeaderFilter需注意的问题
  18. UVALIVE 3026 Period
  19. MFC 双缓冲加载背景
  20. 使用docker-compose搭建AspNetCore开发环境

热门文章

  1. 重启aliyun esc 需要重新启动redis
  2. C++走向远洋——67(项目二、洗牌)
  3. Appium自动化测试实践
  4. leetcode 1365. How Many Numbers Are Smaller Than the Current Number
  5. SPA中前端路由基本原理与实现方式
  6. markdown简明语法1
  7. .net core WebAPI+EF 动态接收前台json,并动态修改数据库
  8. wentiqingdan
  9. socket TCP 从0实现音频传输 ALSA 播放
  10. 【04】openlayers 地图弹框