您的位置:首页 > 编程语言 > C语言/C++

UVa 455 - Periodic Strings - ( C++ ) - 解题报告

2016-10-11 22:57 519 查看
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版) 刘汝佳 编著
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: