POJ Power Strings 2406【KMP】
来源:互联网 发布:qq飞车冲锋战神数据 编辑:程序博客网 时间:2024/05/21 18:41
Power Strings
Time Limit: 3000MS Memory Limit: 65536KTotal Submissions: 37379 Accepted: 15443
Description
Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def" then a*b = "abcdef". If we think of concatenation as multiplication, exponentiation by a non-negative integer is defined in the normal way: a^0 = "" (the empty string) and a^(n+1) = a*(a^n).
Input
Each test case is a line of input representing s, a string of printable characters. The length of s will be at least 1 and will not exceed 1 million characters. A line containing a period follows the last test case.
Output
For each s you should print the largest n such that s = a^n for some string a.
Sample Input
abcdaaaaababab.
Sample Output
143
Hint
This problem has huge input, use scanf instead of cin to avoid time limit exceed.
Source
Waterloo local 2002.07.01
#include <stdio.h>#include <string.h>#include <algorithm>#define maxn 1000000+10using namespace std;char P[maxn];int pre[maxn];void getnext(int plen){pre[0]=pre[1]=0;for(int i=1;i<plen;i++){int k=pre[i];while(k&&P[i]!=P[k])k=pre[k];pre[i+1]= P[k]==P[i]?k+1:0;}}int main(){while(scanf("%s",P)!=EOF){if(P[0]=='.')break;int plen=strlen(P);getnext(plen);if(plen%(plen-pre[plen])==0)printf("%d\n",plen/(plen-pre[plen]));else printf("1\n");}return 0;}
0 0
- poj 2406 Power Strings---kmp
- POJ 2406 Power Strings KMP
- poj-2406-Power Strings-kmp
- POJ-2406 Power Strings KMP
- Power Strings - POJ 2406 KMP
- poj 2406 Power Strings kmp
- POJ 2406-Power Strings (KMP)
- 【KMP】 POJ 2406 Power Strings
- poj 2406 Power Strings KMP
- POJ 2406 Power Strings KMP
- poj 2406 Power Strings KMP
- poj 2406 Power Strings (KMP)
- [2406]Power Strings (POJ) KMP
- Power Strings (poj 2406 KMP)
- poj 2406 Power Strings【KMP】
- POJ 2406 Power Strings(KMP)
- poj-2406 Power Strings 【kmp】
- POJ 2406--Power Strings【KMP】
- 测绘&遥感&地信 国内外期刊大全
- ViewPager 详解(四)---PagerTabStrip与PagerTitleStrip添加标题栏的异同
- C++ list
- 转:Android--JSONArray排序 - 掌缘生灭
- 子进程复制了父进程的什么
- POJ Power Strings 2406【KMP】
- 有道词典在谷歌Chrome浏览器中无法取词的解决方法
- 集合
- Spring依赖注入:注解注入总结
- Hdu oj 1686 Oulipo
- Pycharm的安装及主要的应用,使用说明及案例
- 上传下载文件(并处理了下载文件名乱码问题)
- [LeetCode] Validate Binary Search Tree
- hdoj 4737 区间维护