HDU 2203 — 亲和串
来源:互联网 发布:mac版cad2014破解文件 编辑:程序博客网 时间:2024/04/28 03:41
原题:http://acm.hdu.edu.cn/showproblem.php?pid=2203
思路:
将T串扩增成TT串,就相当于循环移位了一周;
#include<stdio.h>#include<string.h>const int maxn = 100005;char T[maxn*2], P[maxn];int f[maxn], n, m;bool find(){ int j = 0; for(int i = 0;i<n*2;i++) { while(j && T[i]!=P[j]) j = f[j]; if(T[i] == P[j]) j++; if(j == m) return true; } return false;}void getFail(){ f[0] = f[1] = 0; for(int i = 1;i<m;i++) { int j = f[i]; while(j && P[i]!=P[j]) j=f[j]; if(P[i] == P[j]) f[i+1] = j+1; else f[i+1] = 0; }}int main(){ while(scanf("%s%s", T, P)!=EOF) { n = strlen(T); m = strlen(P);if(n<m){printf("no\n");continue;}for(int i = n;i<n*2;i++)T[i] = T[i-n];T[2*n] = 0; getFail(); if(find()) printf("yes\n"); else printf("no\n"); } return 0;}
0 0
- HDU 2203 — 亲和串
- HDU 2203 亲和串
- HDU 2203 亲和串
- HDU - 2203 亲和串
- hdu 2203 亲和串
- hdu 2203 亲和串
- HDU 2203 亲和串
- HDU-亲和串-2203
- hdu 2203 亲和串
- hdu 2203 亲和串
- hdu 2203 亲和串
- hdu 2203 亲和串
- HDU 2203 亲和串
- HDU 2203【亲和串】
- hdu 2203 亲和串
- HDU 2203 亲和串
- hdu 2203亲和串
- HDU 2203 亲和串
- Solr配置停止词/排除词 stopwords(mmseg版)
- phpstorm常用快捷键
- with check option的学习
- HDU 2871 Memory Control 区间合并+区间更新
- iOS开发 iOS8 分割线右移15像素 将其归零
- HDU 2203 — 亲和串
- How to change the default stack size on different platforms
- O(1)时间复杂度实现入栈、出栈、获得栈中最小元素、获得栈中最大元素
- dgrid定制左下角描述信息
- ffmpeg安装
- Specialized Four-Digit Numbers
- 第1章 数据结构绪论
- 欢迎使用CSDN-markdown编辑器
- 线程池的使用