POJ2406 Power Strings
来源:互联网 发布:织梦 列表 ajax 排序 编辑:程序博客网 时间:2024/04/29 01:05
题目链接:POJ2406
Power Strings
Time Limit: 3000MS Memory Limit: 65536KTotal Submissions: 41439 Accepted: 17231
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
[Submit] [Go Back] [Status] [Discuss]
题目分析:还是求循环节,如果除下来有余数或者循环节就是原串本身就输出1。
//// main.cpp// POJ2406//// Created by teddywang on 16/4/27.// Copyright © 2016年 teddywang. All rights reserved.//#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;char s[1000010];int nexts[1000010];int len;void getnext(){ int i=0,j=-1; nexts[0]=-1; while(i<len) { if(j==-1||s[i]==s[j]) { nexts[++i]=++j; } else j=nexts[j]; }}int main(){ while(~scanf("%s",s)) { if(s[0]=='.') break; len=strlen(s); getnext(); int buf=len-nexts[len]; int ans=0; if(buf==len||len%buf!=0) ans=1; else { ans=len/buf; } printf("%d\n",ans); }}
0 0
- POJ2406 Power Strings
- poj2406 Power Strings
- poj2406--Power Strings
- 【KMP】 poj2406 Power Strings
- poj2406 Power Strings
- poj2406 Power Strings-------KMP
- POJ2406:Power Strings
- poj2406 Power Strings
- poj2406-Power Strings
- [POJ2406] Power Strings[KMP]
- poj2406 Power Strings kmp
- poj2406 Power Strings
- poj2406 Power Strings
- POJ2406 Power Strings 【KMP】
- poj2406 Power Strings (KMP)
- poj2406 Power Strings
- poj2406-Power Strings(kmp)
- poj2406 Power Strings(KMP)
- RMI使用
- VR产业链
- poj2289
- sso with ad credential and saml2.0 integration(2)
- 图像的矩
- POJ2406 Power Strings
- 练习3-M
- [bzoj4513][SDOI2016]储能表
- DataGirdView可作为参数传入一个类去,在类里会被修改
- 31-Longest Common Prefix
- ....are only available on JDK 1.5 and higher
- wpa_supplicant移植安装
- MySQL语句大全:创建、授权、查询、修改等
- socket03---小变形,点对点通信聊天