hdu 2594 Simpsons’ Hidden Talents(KMP)
2016-05-14 13:59
567 查看
传送门
#include <stdio.h> #include <string.h> char s[100020],t[50010]; int next[100020]; int main() { int i,j,len,jlens,jlent; while(scanf("%s %s",s,t) != EOF) { jlens = strlen(s); jlent = strlen(t); strcat(s,t);//连接字符串 len = strlen(s); i = 0; j = -1; next[0] = -1; while(i < len) { if(j == -1 || s[i] == s[j]) { ++i; ++j; next[i] = j; } else j = next[j]; } while(next[len] > jlens || next[len] > jlent)//判断字符串长度是否合适 len = next[len]; len = next[len]; for(i = 0; i < len; ++i) printf("%c",s[i]); if(len) printf(" "); printf("%d\n",len); } return 0; }
相关文章推荐
- EL表达式和JSTL
- spring+quartz配置定时任务一
- centos(linux)学习笔记
- 1090. Highest Price in Supply Chain (25)
- MyEclipse配置安卓环境历程
- minSdkVersion、compileSdkVersion、targetSdkVersion的区别及选择
- 第 1 部分: 使用 Scala 语言开发 Spark 应用程序
- 格式化时间转换
- saprk学习笔记0
- kafka初步认识
- 基于PHP的cURL类的模拟登陆
- 关闭Eclipse的控制台console自动跳出
- MySQL中SQL优化和架构设计的一些简单想法
- 推荐一个比较好的博客地址
- 用户名不能为空
- 学习进度条
- 将前缀和后缀相同的文件移动到同一个目录的算法设计及C代码实现
- getsockopt 和 setsockopt讲解
- Qt removeDatabase正确方法
- WAJUEJI which home strong! nyoj 1100