POJ 2406 Power Strings
来源:互联网 发布:开淘宝c店用什么软件好 编辑:程序博客网 时间:2024/04/29 11:53
Power Strings
Time Limit: 3000MS Memory Limit: 65536KTotal Submissions: 26177 Accepted: 10976
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
其实这道题目的思路来自POJ 1961,建议先做做1961,做完之后这道题目就会很容易的解决了
/*************************************************************** > File Name: E:\我的程序\C语言\power.c > Author: SDUT_GYX > Mail: 2272902662@qq.com > Created Time: 2013/5/9 10:14:47 **************************************************************/#include<stdio.h>#include <string.h>#include <math.h>char s1[1100000];int next[1100000],dp[1100000];int main(){void get_next(int l);int i,j,n,m,s,t,l;while(gets(s1)){ if(strcmp(s1,".")==0){break;}l=strlen(s1);get_next(l);dp[0]=0;for(i=2;i<=l;i++){ n=next[i]; if(n+n==i) { dp[i-1]=n; }else if(n+n<i) { dp[i-1]=0; }else { dp[i-1]=dp[n-1]; }}if(dp[l-1]==0){printf("1\n");}else{printf("%d\n",l/dp[l-1]);}}return 0;}void get_next(int l){int i,j;next[0]=-1;next[1]=0;for(i=2,j=0;i<=l;){if(j==-1||s1[i-1]==s1[j]){i++;j++;next[i-1]=j;}else{j=next[j];}}}
- poj 2406 "Power Strings"
- poj 2406 Power Strings
- POJ-2406 Power Strings
- POJ 2406 Power Strings
- poj 2406 Power Strings
- POJ:2406 Power Strings
- poj 2406 Power Strings
- poj 2406 Power Strings
- poj 2406 Power Strings
- POJ 2406 Power Strings
- POJ 2406 - Power Strings
- poj 2406 Power Strings
- poj 2406 Power Strings
- POJ 2406 Power Strings
- POJ 2406 Power Strings
- POJ 2406 Power Strings
- poj 2406 Power Strings
- POJ 2406 Power Strings
- 泛型的嵌套使用
- vc对话框显示图片
- oracle virtual index
- UML图例
- 技术人应该做的
- POJ 2406 Power Strings
- stack and heap
- AES加密算法在linux下相同输入每次加密结果都不同的问题
- H.264 SPS结构体内成员意义及用途说明
- javac的结构和执行流程介绍
- object-c学习笔记
- Scons学习笔记
- android学习笔记---android常用的软件布局方式,使用方法总结
- 一个简单的块设备驱动的实现