uva 455 ----- Periodic Strings
需要注意一点就是最后一个数据不要空行
这道题也是今天最大的收获,学到很多
code:
#include <cstdio>
#include <cstring>
//只要找到周期值 T ,便可以解决问题
#define Max
int comp(char *s,int begin ,int len){
for(int i =0;i < strlen(s);i++)
if(*(s+i) != *(s+(i%len)))
return 0;
return 1;
}
int main(){
int kase;
char s[100];
scanf("%d",&kase);
while(kase--){
memset(s,0,sizeof(s));
scanf("%s",s);
char c = s[0];
int len,i;
for(i = 1;i < strlen(s);i++){
int flag;
if(s[i] == c){
len = i;
flag = comp(s,0,len);
if(flag&&strlen(s)%len == 0){
printf("%d\n",len);
break;
}
}
}
if(i == strlen(s))
printf("%d\n",strlen(s));
if(kase) printf("\n");
}
return 0;
}
浙公网安备 33010602011771号