2016.07.02
UVA - 455 Periodic Strings
题目大意:一个字符串可以由某个长度为 k 的字符串重复得到,求最小周期 k 。如 abcabcabc 的周期为 3。
解题思路:从周期 1 开始枚举,比较相邻两个周期是否对应相同,遍历结束输出。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main() {
int n;//样例个数
char str[80];//储存样例
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s", str);
int len;
len = strlen(str);
for (int j = 1; j <= len; j++) {
int k;
if (len%j == 0) {
for (k = j; k < len; k++) {
int a;
a = k%j;
if (str[k] != str[a]) break;
}
if (k == len) {
printf("%d\n", j);
if (i != n - 1)
printf("\n");
break;
}
}
}
}
return 0;
}