Power Strings(kmp next求循环节)
来源:互联网 发布:h5 微信订餐系统源码 编辑:程序博客网 时间:2024/06/15 02:28
Power Strings
Time Limit: 3000MS Memory Limit: 65536KTotal Submissions: 45249 Accepted: 18883
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.
#include<stdio.h>#include<string.h>#define maxn 1000100int next[maxn];char s[maxn];void get_next(char *s){ int len1=strlen(s); int i=0,j=-1; next[0]=-1; while(i<len1) { if(j==-1||s[i]==s[j]) { next[++i]=++j; } else j=next[j]; }}int main(){ int len,i,j; while(~scanf("%s",s)&&s[0]!='.') { len=strlen(s); get_next(s); if(len%(len-next[len])==0) printf("%d\n",len/(len-next[len])); else printf("1\n"); } return 0;}
0 0
- Power Strings(kmp next求循环节)
- poj2406 Power Strings(kmp求循环节)
- POJ2406 Power Strings KMP-next数组的循环节
- 【poj2406】 Power Strings (KMP求循环节)
- POJ 2406 Power Strings KMP 求最小循环节
- UVA - 10298 Power Strings (KMP求字符串循环节)
- poj2406--Power Strings(KMP求最小循环节)
- POJ 2406 Power Strings(KMP求最小循环节)
- [poj2406]Power Strings(kmp求最小循环节)
- 【POJ 2406】 Power Strings(KMP求循环节)
- POJ 2406Power Strings kmp算法求循环节
- POJ 2406 Power Strings (kmp求循环节)
- poj2406(KMP 求循环节的个数)Power Strings --
- (POJ2406)Power Strings <KMP算法求最小循环节>
- KMP + 求最小循环节 --- POJ 2406 Power Strings
- 【KMP求最小循环节】POJ2406 Power Strings
- 【poj 2406】 Power Strings 【KMP 求最小循环节】
- poj2406 Power Strings(kmp求最小循环节)
- 数据结构第五次作业(图的基本操作实现)
- matlab 中 mvnrnd 函数用法及举例
- SED与AWK命令攻略大全
- 其他相关canvas绘制属性
- C语言之找出字符串中的字串
- Power Strings(kmp next求循环节)
- 用数组实现整数集合
- poj1390 Blocks
- 数据库的基本概念
- (一)React Native---FlexBox 布局
- java学习中重写与重载方法的区别
- 10.31编程总结
- JavaScript的全局属性和全局函数总结.........
- 第八周项目5-计数的模式匹配