uva455 Periodic Strings
題目:算出字串最短迴圈節
注意:自己的方法多次WA,最後參考了一下,主要是迴圈節處的迴圈要注意
#include <cstdio> #include <cstdlib> #include <cstring> using namespace std; int main(int argc, char *argv[]) { int N = 0; char word[100]; scanf("%d", &N); while (N--) { scanf("%s", word); int len = strlen(word); for (int i = 1; i <= len; ++i) { if (len % i == 0)//如果滿足要求,最後的長度%len=0,所以下一個迴圈節開始應該是len % i == 0 的時候 { int flag = 1; for (int j = i; j < len; ++j) { if (word[j] != word[j % i]) //非常巧妙,用j%i,可以不斷迴圈,一直到最後,如果都沒有改變flag的狀態 //就是需要的i { flag = 0; break; } } if (flag) { printf("%d\n", i); break; } } } if (N != 0) printf("\n"); } return 0; }
相關推薦
uva455 Periodic Strings
題目:算出字串最短迴圈節 注意:自己的方法多次WA,最後參考了一下,主要是迴圈節處的迴圈要注意 #include <cstdio> #include <cstdlib> #in
UVA455 周期串(Periodic Strings)
period log gif nbsp 周期 != 字符 ges 題意 題意:求出一個字符串的最小周期 思路:1、枚舉周期內的字符 2、可以用%的方法減少法1的枚舉量。 註意:枚舉包括 長度為strlen(s)的周期 1 #include<cstdio>
習題3-4 週期串(Periodic Strings, UVa455)
如果一個字串可以由某個長度為k的字串重複多次得到,則稱該串以k為週期。例 如,abcabcabcabc以3為週期(注意,它也以6和12為週期)。#include "OJ.h" #include <string.h> /* 功能:計算字串的最小週期。 */ i
Periodic Strings UVA - 455
#include <stdio.h> #include <string.h> int PeriodicStrings(const char *); bool equal(const char, const char); // 判斷兩個字元是否相等 int main()
UVa 455 Periodic Strings(習題3-4)
這幾天一直都沒有寫程式碼,主要是有點事情還有就是忙著複習期末考試,所以說最近一段時間都會很少更新了 這道題的話是比較水的,但是因為我在寫程式碼的時候還有有的地方思路沒有想清楚,重複了幾次才過的 一開始想的太簡單了,直接列舉判斷,後來才慢慢修改,還有就是判斷的後面不要加上分號,有時候不細心
UVA - 455 Periodic Strings【字串】
Periodic Strings UVA - 455 題目傳送門 題目大意:先輸入一個數字n,在輸入n行字串,對每一個字串輸出其最小的週期長度,每兩個輸出間有一空行。 AC程式碼: #include <cstdio> #include &l
Periodic Strings UVA
#include <stdio.h> #include <string.h> int PeriodicStrings(const char *); bool equal(const char, const char); // 判斷兩個字元是否相等
習題3-4 週期串(Periodic Strings)
/*週期串(暴力窮舉法)*/ #include <stdio.h> #include<strings.h> int main() { char s[85]; scanf("%s",s); int a,len=0; //a是週期長度,len是字串長度 le
演算法競賽入門經典(第2版)習題3-4 週期串 Periodic Strings UVa445
這題把我虐哭了。 提交了13次才ac。 演算法本身沒什麼好說的,UVa上html版和pdf版的輸入輸出格式要求不一樣,以html版為準。 而且html版的輸入輸出格式都有點奇葩,不認真看原文細節是ac不了的。 參考了他的例程,我才找到問題的解決辦法。 UVa評測系統中的空
演算法競賽入門經典第三章3-4 Periodic Strings UVA
#include<iostream> #include<string> using namespace std; bool pd(string &s,int k)
習題3-4 週期串(Periodic Strings)
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; int main() { char s[100]; int
uva 455 Periodic Strings(暴力 判斷週期串)
判斷一個字串是否為週期串,如果是的話輸出去最小週期,否則輸出串長。 方法:從s[1]開始判斷是否為週期串,如果是的話得到的下標 i 就是最小週期直接輸出即可。 判斷的方法自然是看從j = i 開始判
Periodic Strings KMP next 陣列 求 迴圈節
455 - Periodic Strings A character string is said to have period k if it can be formed by conca
UVA 455 Periodic Strings (KMP && 暴力陣列)
題意:給你字串,求最小迴圈節的字元個數 分析:看到關於迴圈節的第一反應就是KMP,其實這個題對範圍要求很小,所以可以暴力,把前面的字元與後面的字元進行比較,看是否一樣。最後不要忘記每一個數據後面的空
演算法競賽入門-週期串(Periodic Strings)
1. 題目 今天第三道 如果一個字元可以由某個長度為k的字串重複多次得到,則稱該字串以k為週期。例如,abcabcabc以3為週期(注意,他也以6和12為週期)。 樣例輸入 1 hohoho 樣例輸
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
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 455 Periodic Strings(週期串)
//求字串的最小週期 //我的思路,找與s[0]相同的字元,然後判定從s[0]到此字元之前的長度能不能作為一個週期 #include <stdio.h> #include <stdlib.h> #include <string.h> in
455(Periodic Strings)
題目翻譯:求一個字串的最小週期。 思路:這個題我的思路就是“偏移法”,如果字串是個迴圈體,那麼一定有一段是反覆存在的,例如abAB(大小寫無區別,這裡方便理解),當偏移量為1時對應不相等(a對應b,b
Codeforces 803G Periodic RMQ Problem ST表+動態開節點線段樹
ces 細節 ren urn 區間覆蓋 d+ ins cstring pro 思路: (我也不知道這是不是正解) ST表預處理出來原數列的兩點之間的min 再搞一個動態開節點線段樹 節點記錄ans 和標記 lazy=-1 當前節點的ans可用 lazy=0 沒被