CODEFORCE 126B Password
2016-01-10 23:52
120 查看
课件上说用Ac自动机做,但是我想这毕竟是个B题,然后就用KMP水了。。
#include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include <cmath> #include <queue> #include <vector> using namespace std; #define N 1000010 int n,f ,Ans; char S ; void Solve() { n=(int)strlen(S); f[0]=0;f[1]=0; for(int i=1;i<n;i++) { int j=f[i]; while(j&&S[j]!=S[i]) j=f[j]; if(S[j]==S[i]) f[i+1]=j+1; else f[i+1]=0; } for(int i=1;i<=n;i++) { if(i!=n) Ans=max(Ans,f[i]); else { int now=f[i]; if(now>Ans) now=f[now]; Ans=now; } } if(Ans==0) { cout<<"Just a legend"<<endl; return; } for(int i=0;i<Ans;i++) printf("%c",S[i]); cout<<endl; } int main() { scanf("%s",S); Solve(); return 0; }
相关文章推荐
- 认识Java的8种基础类型
- Eclipse下使用Stanford CoreNLP的方法
- C#/VB.net/VB 获取系统时间
- 离散数学3____一些重要的重言蕴涵式__推理定律
- 动画学习1
- highcharts 结合phantomjs纯后台生成图片系列二之php
- 超级有用的三个原则
- Android APK反编译和代码混淆
- 5行Python代码实现一个简单的在线英汉词典
- Javascript 闭包
- Linux 学习
- vim display line number
- jquery级联下拉框
- Android UI模板设计
- iOS开发实践之多线程(NSOperation)
- MVC入门知识
- Numpy数据类型
- 【python学习笔记】实现linux终端下的getch()函数
- 如何在Linux下安装openfire及解决常见的安装问题
- dialog样式的activity点击外层,activity消失