zcmu-1986(暴力)

问题 C: 周期串plus

时间限制: 1 Sec  内存限制: 128 MB
提交: 223  解决: 106
[提交][状态][讨论版]

题目描述

如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。例如abcabcabcabc以3为周期(当然他也以6,12为周期)。输入一个长度不超过100000的串,输出他的最小周期。

输入

多组测试数据,每组仅一行为一个仅有大写字母组成的字符串。

输出

对于每组数据输出该字符串的最小周期。

样例输入

HOHO

样例输出

2

提示

[提交][状态][讨论版]

心得:暴力求解

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
char str[100100];
int main(void)
{
    while(~scanf("%s",str))
    {
        int l=strlen(str),i=1,j,res=l,fg;
        while(i<=l)
        {
            fg=0;
            for(j=0;j<l-i;j++)
            if(str[j]!=str[j+i]) 
            {
                fg=1;break;
            }
            if(fg==0) 
            {
                res=i;break;
            }
            i++;
        }
        printf("%d\n",res);
    }
    return 0;
}
 

猜你喜欢

转载自blog.csdn.net/qq_41829060/article/details/82751510