首页 > 代码库 > UVa 455 - Periodic Strings 解题报告

UVa 455 - Periodic Strings 解题报告

1.题目大意

求一个长度不超过80的字符串的最小周期.

 

2.思路

非常简单,基本就是根据周期的定义做出来的,几乎不需要过脑.

 

3.应该注意的地方

(1) 最后输出的方式要注意,不然很容易就PE了.不过个人认为,其实这题Sample Output给的不好

(2) 注意输出的要求是最小周期

 

4.代码

#include"stdio.h"#include"string.h"#define maxn 80int 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版) 刘汝佳 编著

UVa 455 - Periodic Strings 解题报告