1.題目大意
求一個長度不超過80的字符串的最小周期.
2.思路
非常簡單,基本就是根據周期的定義做出來的,幾乎不需要過腦.
3.應該注意的地方
(1) 最后輸出的方式要注意,不然很容易就PE了.不過個人認為,其實這題Sample Output給的不好
(2) 注意輸出的要求是最小周期
4.代碼
#include"stdio.h" #include"string.h" #define maxn 80 int main() { int T,m,i,j,flag; char s[maxn]; scanf("%d",&T); while(T--) { scanf("%s",s); m=strlen(s); for(i=1; i<m+1; i++) { flag=1; for(j=0; j<m; j++) if(s[j]!=s[(j+i)%m]) { flag=0; break; } if(flag) { printf("%d\n",i); break; } } if(T) printf("\n"); } return 0; }
參考書目:算法競賽入門經典(第2版) 劉汝佳 編著