演算法競賽入門經典(第二版)習題3-4
#include<stdio.h> #include<string.h> char s[85]; int main() { while(scanf("%s",s)) { int len=strlen(s); for(int i=1;i<=len;++i) //i為最小週期 { if(len%i==0)//不能整除的肯定不是週期串 { int k; for(k=1;k<=len;++k) //k代表位置 { if(s[k]!=s[k%i]) //k%i取得第一塊中相應的位置,然後比較,牛啤 break; } if(k==len) //k==len代表一直到結束的比較都是成功的 { printf("%d\n",i);break; } } } } }
相關推薦
演算法競賽入門經典(第二版)習題3-4
#include<stdio.h> #include<string.h> char s[85]; int main() { while(scanf("%s",s)) { int len=strlen(s); for(int i=
演算法競賽入門經典(第二版) 習題3-5 謎題(Puzzle) UVa227 Finals1993
Page 57 Description 一個5*5的網格中恰好有一個格子是空的,其他格子各有一個字母,四條指令A,B,L,R分別表示將空格上、下、左、右移動。輸入初始網格(以Z結束)和一串指令(以0結束),輸出執行操作後的網格。越界則輸出“This puzzle has n
演算法競賽入門經典(第二版) 習題3-11 換低檔裝置(Kickdown) UVa1588 NEERC2006
Page 59 題意:給出兩個長度分別為n1,n2且每列高度只為1或者2的長條,需要將它們放入一個高度為3的容器,問容器的最短長度。 思路:兩個字串起始端對齊,分兩個方向移動,得到兩個最短長度,再取較
演算法競賽入門經典 第二版 習題5-6 對稱軸 Symmetry uva1595
思路:動用兩個容器,一個容器存下所有座標(vector< pair< int>,int>用pair存下點的x、y座標),另一個容器記錄按縱座標分類的點的橫座標(map< int, set< int> >關鍵字是
演算法競賽入門經典 第二版 習題4-1 象棋 Xiangqi uva1589
卡了我一個周,WA到想哭,象棋盤放在臥室一個周沒收起來(┬_┬) 思路:將死,也就是說將向上下左右移動(如果可能的話)均仍被將軍。 我自然的想到了建一個二維陣列模擬棋盤,分別表示某行某列的棋子,然後將將上下左右移動(如果可能的話)後分別判斷是否會被車馬炮
演算法競賽入門經典(第二版)-劉汝佳-第三章 陣列與字串 例題+習題(17/18)
說明 本文是我對第三章題目的練習總結,建議配合紫書——《演算法競賽入門經典(第2版)》閱讀本文。 另外為了方便做題,我在VOJ上開了一個contest,歡迎一起在上面做:第三章contest 如果想直接看某道題,請點開目錄後點開相應的題目!!! 例題
演算法競賽入門經典(第二版)-劉汝佳-第八章 高效演算法設計 習題(18/28)
說明 本文是我對第8章28道習題的練習總結,建議配合紫書——《演算法競賽入門經典(第2版)》閱讀本文。 另外為了方便做題,我在VOJ上開了一個contest,歡迎一起在上面做:第八章習題contest 如果想直接看某道題,請點開目錄後點開相應的題目!!!
習題2-4 子序列的和(subsequence) 演算法競賽入門經典 第二版
#include<iostream> #include<cstdio> #include<cmath> using namespace std; int main
演算法競賽入門經典第二章習題
習題2-1 水仙花數 #include <iostream> #include <cmath> using namespace std; int main() {int a = 0, b = 0, c = 0;for (int i = 100; i <
演算法競賽入門經典(第二版)-劉汝佳-第四章 發放救濟金
In a serious attempt to downsize (reduce) the dole queue, The New National Green Labour Rhinoceros Party has decided on the following strategy. Every da
演算法競賽入門經典(第二版)-劉汝佳-第四章 函式與遞迴 發放救濟金Uva133
In a serious attempt to downsize (reduce) the dole queue, The New National Green Labour Rhinoceros Party has decided on the following st
演算法競賽入門經典第二版 2-6排列
用1,2,3,...,9組成3個三位數abc, def和ghi,每個數字恰好使用一次,要求abc:def:ghi = 1:2:3。按照"abc def ghi"的格式輸出所有解,每行一個解。提示:不必太動腦筋。 原理是遍歷所有數字再進行篩選,優點是簡單容易實
演算法競賽入門經典第三章3-4 Periodic Strings UVA
#include<iostream> #include<string> using namespace std; bool pd(string &s,int k)
演算法競賽入門經典第二部分基礎篇
第6章資料結構和基礎 指標的連結串列實現方式是,當前節點的next指向下一個節點,用陣列模擬就是 for(int i=next[0];i!=0;i=next[i]) i=next[i];就是一條鏈。 你有一個破損的鍵盤。鍵盤上的所有鍵都可以正常工作,但有時Home鍵或
演算法競賽入門經典(第二版)第三章陣列和字串習題3-4週期串
如果一個字串可以由某個長度為k的字串重複多次得到,則稱該串以k為週期。例如abcabcabc以3為週期(注意,它也以6和12為週期)。輸入一個長度不超過80的字串,輸出其最小週期 #include<stdio.h> int main() { char a[100];
演算法競賽入門經典(第二版)第三章陣列和字串習題3-3數數字
把前n(n<=10000)個整數順次解除安裝一起:123456789101112…數一數0~9各出現多少次(輸出10個整數,分別是0,1,…,9出現的次數) #include<stdio.h> #define N 100000 char s[N],temp[10]; i
演算法競賽入門經典(第二版)第三章陣列和字串習題3-2分子量
給出一種物質的分子式不帶括號,求分子量。本題中的分子式只包含4種原子分別為CHON,原子量分別為12.01,1.008,16.00,14.01(單位g/mol)。例如,C6H5OH的分子量是94.108g/mol #include <stdio.h> int main() {
演算法競賽入門經典(第二版)第三章陣列和字串習題3-1得分
給出一個由O和X組成的串(長度1-80)統計得分。每個O的得分為目前連續出現的O的個數,X的得分為0。 #include <stdio.h> int main() { int b=0,c=0; int j=1; char a[80]; scan
演算法競賽入門經典(第二版)第三章陣列和字串中競賽題目例題3-5 生成元
如果x加上x的各個數字之和得到y,就說x是y的生成元。給出n(1<=n<=100000)求最小生成元。無解輸出0.例如n=216時的解為198 分析 本題看起來是個數學題實則不然。假設所求生成元為m不難發現m<n.換句話說只需列舉所有的m<n看看有沒有哪個數是n的
演算法競賽入門經典(第二版)第三章陣列和字串中競賽題目例題3-4猜數字
實現一個經典猜數字遊戲。給定答案序列和使用者猜的序列,統計有多少數字位置正確A,有多少數字在兩個序列都出現過但位置不對B 輸入包含多組資料。每組第一行為序列長度為n,第二行是答案序列,接下來是若干猜測序列。猜測序列全0時該組資料結束。n=0時輸入結束 [分析] 直接統計可得A,為