POJ
来源:互联网 发布:淘宝网西服 编辑:程序博客网 时间:2024/06/10 19:31
点击打开链接
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).
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.
For each s you should print the largest n such that s = a^n for some string a.
abcdaaaaababab.
143
ps:一道KMP基础题,拿来练手。
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;int next[1000010],m;char s[1000010];void get_next(){ int i=0,j=-1; next[0]=-1; while(i<m) { if(j==-1||s[i]==s[j]) { i+=1; j+=1; next[i]=j; } else j=next[j]; }}int main(){ while(scanf("%s",s)!=EOF) { if(s[0]=='.') break; m=strlen(s); get_next(); if(m%(m-next[m])==0) printf("%d\n",m/(m-next[m])); else printf("1\n"); } return 0;}
阅读全文
0 0
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- hdu 6143 Killer Names
- dp day2/3-区间dp
- c++ c# opencv dll 调用的方法
- angular4小星星评分功能代码
- 面向对象的第一个特征:封装II
- POJ
- Caffe中卷积的实现细节(涉及到BaseConvolutionLayer、ConvolutionLayer、im2col等)
- unique去重函数
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- Out of Hay
- 河南省多校赛(4)GJJ的日常之再游戏
- 98. Validate Binary Search Tree
- 嵌入式Linux 使用libmad
- 组合数取模