周期串 (Periodic Strings)UVA455

来源:互联网 发布:下载视频软件全部 编辑:程序博客网 时间:2024/05/18 01:55
  1. #include<cstdio>
  2. #include<string.h> 
  3. int main(){
  4.     int T;
  5.     scanf("%d",&T);
  6.     while(T--){
  7.         char s[85];
  8.         scanf("%s",s);
  9.         int flag=0;              //用于判断周期是否为整个字符串的长度
  10.         int length=strlen(s);
  11.         for(int i=1;i<length;i++){
  12.             if(s[0]==s[i]){
  13.                 int len=i;
  14.                 int k=0;
  15.                 int j=i;
  16.                 for(;j<length;j++){
  17.                      if(s[(k++)%len]!=s[j])break;
  18.                 }
  19.                 if((j==length)&&((k-1)%len==len-1))
  20.                 {
  21.                     if(T!=0)
  22.                     printf("%d\n\n",len);
  23.                     else printf("%d\n",len);
  24.                     flag=1;
  25.                     break;
  26.                 }
  27.             }
  28.         }
  29.         if(!flag)
  30.              if(T!=0)
  31.              printf("%d\n\n",length);
  32.                     else printf("%d\n",length);
  33.     }
  34.     return 0;
  35. }
0 0
原创粉丝点击