UVa 455 - Periodic Strings

題目:求一個串的最小循環節。

分析:暴力,字符串。數據量較小,直接使用枚舉法。

            枚舉循環節的長度,匹配判斷,找到第一組解即爲最小。

說明:(⊙_⊙)。

  1. #include <iostream>  
  2. #include <cstdlib>  
  3. #include <cstring>  
  4. #include <cstdio>  
  5.   
  6. using namespace std;  
  7.   
  8. char str[104];  
  9.   
  10. int main()  
  11. { 
  12.     int n; 
  13.     while (~scanf("%d",&n)) 
  14.     while (n --) { 
  15.         scanf("%s",str); 
  16.         int len = strlen(str);  
  17.         for (int k,i = 1 ; i <= len ; ++ i) 
  18.             if (len%i == 0) { 
  19.                 for (k = i ; k < len ; ++ k) 
  20.                     if (str[k] != str[k%i]) 
  21.                         break; 
  22.                 if (k == len) { 
  23.                     printf("%d\n",i); 
  24.                     break; 
  25.                 }  
  26.         }  
  27.         if (n) printf("\n");  
  28.     }  
  29.     return 0;  




原文地址:http://blog.csdn.net/mobius_strip/article/details/40584263

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章