Power Strings
来源:互联网 发布:淘宝网冬季舞靴 编辑:程序博客网 时间:2024/06/05 14:35
Power Strings
Time Limit: 3000MS Memory Limit: 65536KTotal Submissions: 51222 Accepted: 21388
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
思路:循环节只要不被长度整出就输出1.
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;char a[1000010];int f[1000010];int len;void getnext(){ int i,j=0; f[1]=0; for(i=2; i<=len; i++) { while(j>0&&a[j+1]!=a[i]) j=f[j]; if(a[j+1]==a[i]) j++; f[i]=j; }}int main(){ while(gets(a+1)) { if(!strcmp((a+1) , ".")) break; len=strlen(a+1); getnext(); int l=len-f[len]; if(len%l==0) { printf("%d\n",len/l); } else { printf("1\n"); } } return 0;}
阅读全文
0 0
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- 自考思维导图
- JAVA面试,最起码,你应该知道这些!
- 2017ICPC北方邀请赛H题 MJF wants to work(贪心)
- WORD公式上浮的对齐的方法
- 分层拓扑排序好题
- Power Strings
- Hadoop 2.X 完全分布式的配置
- memcached操作
- CodeForces
- Unity渲染管线细节(Rendering Pipeline Details)
- 单向链表反转:迭代法和递归法
- 最长递增子序列问题---动态规划
- 面向面试的死锁问题
- App 适配 iOS 11