UVa 455 - Periodic Strings - ( C++ ) - 解題報告


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版) 劉汝佳 編著


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM