Pabon_SEC

Periodic Strings

Apr 11th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.75 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define mx 90
  3.  
  4. using namespace std;
  5.  
  6. char text[mx];
  7.  
  8. int len;
  9.  
  10. bool compute_prefix(int i)
  11. {
  12.     for(int j=i;j<len;j++)
  13.     {
  14.         if(text[j]!=text[j%i])
  15.         {
  16.             return false;
  17.         }
  18.     }
  19.  
  20.     return true;
  21. }
  22.  
  23. int main()
  24. {
  25.     int test,tc,i;
  26.  
  27.     scanf("%d",&test);
  28.  
  29.     for(tc=1; tc<=test; tc++)
  30.     {
  31.         scanf("%s",text);
  32.  
  33.         len = strlen(text);
  34.  
  35.         for(i=1;i<=len;i++)
  36.         {
  37.             if(!(len%i))
  38.             {
  39.                 if(compute_prefix(i))
  40.                 {
  41.                     break;
  42.                 }
  43.             }
  44.         }
  45.  
  46.         printf("%d\n",i);
  47.  
  48.         if(tc<test)
  49.         {
  50.             puts("");
  51.         }
  52.     }
  53.  
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment