您的位置:首页 > 其它

UVa 455 - Periodic Strings

2017-11-15 19:40 369 查看
题目:求一个串的最小循环节。

分析:暴力,字符串。数据量较小,直接使用枚举法。

            枚举循环节的长度,匹配判断,找到第一组解即为最小。

说明:(⊙_⊙)。

[delphi]
view plain
copy

#include <iostream>  
#include <cstdlib>  
#include <cstring>  
#include <cstdio>  
  
using namespace std;  
  
char str[104];  
  
int main()  

    int n; 
    while (~scanf("%d",&n)) 
    while (n --) { 
        scanf("%s",str); 
        int len = strlen(str);  
        for (int k,i = 1 ; i <= len ; ++ i) 
            if (len%i == 0) { 
                for (k = i ; k < len ; ++ k) 
                    if (str[k] != str[k%i]) 
                        break; 
                if (k == len) { 
                    printf("%d\n",i); 
                    break; 
                }  
        }  
        if (n) printf("\n");  
    }  
    return 0;  


原文地址:http://blog.csdn.net/mobius_strip/article/details/40584263
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: