UVa 455 周期串

来源:互联网 发布:linux常用命令实例详解 编辑:程序博客网 时间:2024/05/22 16:45

题目描述:


AC代码:

/*by_superxdtime_2016年9月21日 21:34:51*/#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<cstring>#include<cstdlib>using namespace std;char s[185];int T;int main(){    cin>>T;    while(T--)    {        scanf("%s",s+1);        int i,j,k;        for(i=1;i<=strlen(s+1);i++)//周期的范围1~strlen(s+1)        {            if(strlen(s+1)%i)//不能划分成整数周期,continue                continue;            for(j=1;j<=i;j++)//每个小周期里面有i个数            {                for(k=1;k<strlen(s+1)/i;k++)//一种有strlen(s+1)/i组                 {                 if(s[j]==s[j+i*k])                    continue;                 else                    break;                 }                if(k<strlen(s+1)/i)                    break;             }            if(j>i)            {                printf("%d\n",i);                if(T>=1)                    printf("\n");                break;            }        }    }    return 0;}


0 0
原创粉丝点击