题目链接:http://115.159.40.116/problem_show.php?pid=5661
http://acm.nyist.net/JudgeOnline/problem.php?pid=1121
本以为普通方法可能会超时,没想到这题只是纯粹的简单题,话不多说下面是AC代码。
sdfjj+jjj=jj&^Wqeuqqqdhnn?"::\454der4*nnnnfklwgjqijr39u21#@8u3tergfgfkwfeqrjrfsofsdjdspfkjpjegfsg[dgqge]]d<ddd55ddwrd964sfgdgdf;hb\fd]gg+df/*gdss'gd;ffdjfd"sbhnamxvn.gerq//?>,lsd+1f\'d2sf+4sfs55dfsd
http://acm.nyist.net/JudgeOnline/problem.php?pid=1121
题目描述
一个字符串可以由长度为k的字符串重复多次得到,我们说该串以k为周期,例如abcabcabcabc 以3为最小周期(注意它也可以以6和12为周期)
我们输入一个不超过200的串,输出它的最小周期(字符串区分大小写)
输入
有多组测试数据,每组输入一个字符串
输出
输出相应字符串的最小周期
样例输入
abcabcabcabc abcd
样例输出
3 4
#include <stdio.h>
#include <string.h>
int main() {
char s[250];
while(~scanf("%s", &s)) {
int len = strlen(s), f = 1, i, j, k;
for(i = len; i >= 2; i--) {
if(len%i == 0) {
int flag = 0, m = len/i;
for(j = 0; j < m && flag == 0; j++) {
for(k = 1; k < i; k++)
if(s[j] != s[j+k*m]) {
flag = 1;
break;
}
}
if(flag == 0) {
f = i;
break;
}
}
}
printf("%d\n", len/f);
}
return 0;
}
一串乱码,你可以试试你的程序是否超时。趴在键盘上睡
sdfjj+jjj=jj&^Wqeuqqqdhnn?"::\454der4*nnnnfklwgjqijr39u21#@8u3tergfgfkwfeqrjrfsofsdjdspfkjpjegfsg[dgqge]]d<ddd55ddwrd964sfgdgdf;hb\fd]gg+df/*gdss'gd;ffdjfd"sbhnamxvn.gerq//?>,lsd+1f\'d2sf+4sfs55dfsd