UVA 455 -周期串

UVA 455 -周期串
思路:枚举循环节(循环节要能被字符串长度整除),进行循环判断,找到第一组解就是最小解。

#include <bits/stdc++.h>
#include<stdio.h>
using namespace std;
char a[1005];
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int i,j;
        scanf("%s",a);
        for(i=1;i<=strlen(a);i++){   //枚举周期串
            if(strlen(a)%i==0){
                for(j=i;j<strlen(a);j++){
                    if(a[j]!=a[j%i])break;
                    }
                }
                if(j==strlen(a)){
                    printf("%d\n",i);
                    break;
            }
        }
        if(t)printf("\n");
    }
    return 0;
}

上一篇:leetcode 455. 分发饼干


下一篇:UOJ #455 [UER #8]雪灾与外卖 (贪心、模拟费用流)