1. 程式人生 > >uva 455 Periodic Strings(暴力 判斷週期串)

uva 455 Periodic Strings(暴力 判斷週期串)

判斷一個字串是否為週期串,如果是的話輸出去最小週期,否則輸出串長。

方法:從s[1]開始判斷是否為週期串,如果是的話得到的下標 i 就是最小週期直接輸出即可。

判斷的方法自然是看從j = i 開始判斷s[j-i]與s[j]是否一直相同。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#define maxn 82
int a[10] = {0};
int main()
{
    int t,flag = 0;
    scanf("%d",&t);
    int ch = getchar();
    while(t--)
    {
        char s[maxn];
        scanf("%s",s);
        int chh = getchar();
        int i,l = strlen(s),ll,j;
        for( i = 1; i < l; i++)
        {
            if(s[i] == s[0] && l%i == 0)
            {
                j = i;
                while(j < l)
                {
                    if(s[j] == s[j - i])
                        j++;
                    else break;
                }
                if(j == l)
                {
                    printf("%d\n",i);
                    if(t) printf("\n");
                    break;
                }
            }
            else continue;
        }
        if(i == l)
        {
            printf("%d\n",l);
        if(t)  printf("\n");
        }
    }
    return 0;
}


相關推薦

uva 455 Periodic Strings暴力 判斷週期

判斷一個字串是否為週期串,如果是的話輸出去最小週期,否則輸出串長。 方法:從s[1]開始判斷是否為週期串,如果是的話得到的下標 i 就是最小週期直接輸出即可。 判斷的方法自然是看從j = i 開始判

UVA 455 Periodic Strings字串的迴圈節

UVA 455 Periodic Strings A character stringis said to have periodk if it can be formed by concatenating one or morerepetitions of anot

UVA 455 Periodic Strings KMP && 暴力陣列

題意:給你字串,求最小迴圈節的字元個數 分析:看到關於迴圈節的第一反應就是KMP,其實這個題對範圍要求很小,所以可以暴力,把前面的字元與後面的字元進行比較,看是否一樣。最後不要忘記每一個數據後面的空

UVa 455 Periodic Strings(週期)

//求字串的最小週期 //我的思路,找與s[0]相同的字元,然後判定從s[0]到此字元之前的長度能不能作為一個週期 #include <stdio.h> #include <stdlib.h> #include <string.h> in

UVa 455 Periodic Strings(習題3-4)

這幾天一直都沒有寫程式碼,主要是有點事情還有就是忙著複習期末考試,所以說最近一段時間都會很少更新了 這道題的話是比較水的,但是因為我在寫程式碼的時候還有有的地方思路沒有想清楚,重複了幾次才過的 一開始想的太簡單了,直接列舉判斷,後來才慢慢修改,還有就是判斷的後面不要加上分號,有時候不細心

UVA - 455 Periodic Strings【字串】

Periodic Strings  UVA - 455  題目傳送門 題目大意:先輸入一個數字n,在輸入n行字串,對每一個字串輸出其最小的週期長度,每兩個輸出間有一空行。 AC程式碼: #include <cstdio> #include &l

UVA 455 Periodic Strings

A character string is said to have period k if it can be formed by concatenating one or more repetitions of another string of length k. For example, th

UVa 10129 單詞DFS判斷連通性

題意:輸入N個單詞,N < 100000,是否可以把所有這些單詞排成一列,使得每個單詞的第一個字母和最後一個字母相同。每個單詞最多有1000個字母,輸入可能有重複的單詞。 思路: 1、把字母當成結點,單詞看做有向邊,問題有解當且僅當圖中存在歐拉回路。有向圖

UVA 10196 Morning Walk歐拉回路

ble move eve man first pre intersect sum ons Problem H Morning Walk Time Limit 3 Seconds Kamalis a Motashotaguy. He has

UVa 10328 Coin TossJava大數+遞推

html [1] 思路 add int() www else htm for https://vjudge.net/problem/UVA-10328 題意: 有H和T兩個字符,現在要排成n位的字符串,求至少有k個字符連續的方案數。 思路:這道題目和ZOJ

POJ--3311--Hie with the Pie暴力枚舉+floyd/狀態壓縮DP+floyd

簡介 提前 比較 -h 最短 客戶 狀態 blog log 簡介 狀態壓縮入門,先說用暴力枚舉的方法做的,再說狀態壓縮DP,對於剛開始學習狀態壓縮的同學,兩者相互比較學習,可以明顯看出兩者區別,有利於對狀態壓縮DP的理解,提前說下,兩者耗時是 157Ms和 0Ms 。 題意

Blizzard暴力技巧+精度問題

color ios courier else efi ont define 一行 ace Blizzard Description 在魔獸爭霸之冰封王座中有一個叫冰川的地圖,裏面有魔法傳送陣,可以傳送到這個此傳送陣的對稱傳送陣位置。假設地圖是圓形的,地圖中心也

解題報告:poj 3259 Wormholesspfa判斷負環

sel field over each eve path ace single requires Description While exploring his many farms, Farmer John has discovered a number of am

hdu 1238 Substrings暴力+string類方法

題意:求n個字串的最長公共子串的長度,注意,公共子串翻轉後也算同一公共子串 題解:字串長度<=100,n<=100,t<=10,可以用暴力列舉,一開始我用map去記錄每一個字串的所有子串,最後比較一下最大值 發現超時了,後來才知道,可以以最小長度的那個字串來列舉所有字串

資料分析過程中常見的一些指標和概念解釋使用者生命週期分析

一些使用者生命週期分析中經常遇到的一些名詞的解釋。參考新增連結描述 會話 會話就是session,也就是使用者的一次開啟和啟動。會話是行為資料記錄的必要維度,會話的準確性直接影響對使用者行為的解讀以及部分關鍵統計指標的準確性。 判定: 從開啟產品到關閉產品視為一次會話;

c++分塊算法暴力數據結構

復雜度 spl nlogn 部分 基本 拓展 多說 操作 數據結構 快要noip了,該寫些題解攢攢rp了(逃) 看到題解裏那麽多線段樹啊,樹狀數組啊,本蒟蒻表示:這都是什麽鬼東西? 在所有高級數據結構中,樹狀數組是碼量最小的,跑的也基本是最快的,但理解很難,並且支持的操作很

【ACM】UVa 489 劊子手遊戲自頂向下

 【題目】 Hangman Judge是一個猜英文單字的小遊戲(在電子字典中常會看到),遊戲規則如下: 1、答案單字寫在紙上(每個字元一張紙),並且被蓋起來,玩家每次猜一個英文字元(letter)。 2、如果這個英文字元猜中(在答案的英文單字中有出現),被猜中的字元就被翻

UVA 674 硬幣問題完全揹包、列舉

    題意:給定金額n,有50,25,10,5,1這五種面值的錢,問共有多少種不同的找法(假設最少存在一種找法)。   這題我想了很久,都沒有找到合適的狀態轉移方程,最後看了別人寫的,又體會了半天,才算明白。 分析: 這題,寫不對原因

UVA 1374 Power Calculus迭代深搜

  題目:Power Calculus 題意:輸入正整數n(1≤n≤1000),問最少需要幾次乘除法可以從x得到xn?例如,x31需要6次: 。 計算過程中x的指數應當總是正整數(如x-3=x/x4是不允許的)。 思路:繼續IDA*,看了紫書分析,我想的是每次將得到的集合排序後

Networking POJ1287 最小生成樹Prim注意判斷重邊

http://poj.org/problem?id=1287 #include<iostream> #include<math.h> #include<stdio.h> #include<string.h> #include<math.h&g