原创 在圖上尋找最優路徑(DFS)

//在圖上尋找最優(步數最少)路徑 Node bestPath[MAX_LEN]; int minSteps = INFINITE; //最優路徑步數(定了一個無限大) Node psth[MAX_LEN]; //MAX_LE

原创 深度優先搜索的代碼框架(DFS)

判斷從V出發是否能走到終點://判斷從V出發是否能走到終點,如果能,要記錄路徑 Node path[MAX_LEN]; //MAX_LEN取節點總數即可 int depth; bool Dfs(v) { if(v是終點) { p

原创 遍歷圖中所有的點

//遍歷圖上所有節點 Dfs(v) { if(v是舊點) return; 將v標記爲舊點; 對和V相鄰的每個點U { Dfs(U); } } int main() { 將所有點都標記爲新點; while(在圖中

原创 POJ3278 抓住那頭牛

現在我在準備4月1日的藍橋杯,正在突破BFS。昨天看了北京大學暑期課《ACM/ICPC競賽訓練》北京大學信息學院 郭煒編寫的PPT,以抓住那頭牛(POJ3278)爲例子作爲講解。題目:農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上

原创 廣度優先搜索的代碼框架

BFS() {        初始化隊列        while(隊列不爲空且未找到目標節點) {                取隊首節點擴展,並將擴展出的非重複節點放入隊尾 ;                    必要時記住每個節

原创 2016年藍橋杯省賽C/C++ A組 第八題 四平方和

四平方和定理,又稱爲拉格朗日定理: 每個正整數都可以表示爲至多4個正整數的平方和。 如果把0包括進去,就正好可以表示爲4個數的平方和。 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1

原创 2016年藍橋杯省賽C/C++ A組 第一題 父親與兒子年紀

網友年齡某君新認識一網友。當問及年齡時,他的網友說:“我的年齡是個2位數,我比兒子大27歲,如果把我的年齡的兩位數字交換位置,剛好就是我兒子的年齡”請你計算:網友的年齡一共有多少種可能情況?提示:30歲就是其中一種可能哦.請填寫表示可能情

原创 2016年藍橋杯省賽C/C++ A組 第三題 方格填數

#include<iostream> #include<cmath> using namespace std; int a[11]; //代表第一個方格,第二個方格 int visit[11]; int count; int DFS

原创 二分查找函數

//寫一個函數BinarySeach,在包含size個元素的、從小到大排序的int數組a裏查找元素p,如果找到,則返回元素下標,如果找不到,則返回-1。要求複雜度O(log(n)) int BinarySearch(int a[],

原创 2016年藍橋杯省賽C/C++ A組 第二題 過生日

生日蠟燭某君從某年開始每年都舉辦一次生日party,並且每次都要吹熄與年齡相同根數的蠟燭。現在算起來,他一共吹熄了236根蠟燭請問,他從多少歲開始過生日party的?請填寫他開始過生日party的年齡數。注意:你提交的應該是一個整數,不要

原创 C++中sort的用法

STL中帶有排序函數sort, 對給定區間內的所有元素進行排序。需要使用頭文件:#include<algorithm>。語法描述爲:sort(begin,end),輸出結果是把數組按升序排序。

原创 快速排序

數組排序任務可以如下完成: 1)設k=a[0], 將k挪到適當位置,使得比k小的元素都 在k左邊,比k大的元素都在k右邊,和k相等的,不關心 在k左右出現均可 (O(n)時間完成) 2) 把k左邊的部分快速排序 3) 把k右邊的部分快速排

原创 2015年藍橋杯省賽C++(A組) 第七題 飲料換購

樂羊羊飲料廠正在舉辦一次促銷優惠活動。樂羊羊C型飲料,憑3個瓶蓋可以再換一瓶C型飲料,並且可以一直循環下去(但不允許暫借或賒賬)。請你計算一下,如果小明不浪費瓶蓋,儘量地參加活動,那麼,對於他初始買入的n瓶飲料,最後他一共能喝到多少瓶飲料

原创 2016年藍橋杯省賽C/C++ A組 第六題 寒假作業

現在小學的數學題目也不是那麼好玩的。 看看這個寒假作業: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ 每個方塊代表1~13中的某一個數字,但不能重複。 比如: 6 + 7 = 13 9 - 8 = 1 

原创 C++中strcmp的用法

用處:比較兩個字符串。設這兩個字符串爲str1、str2,若str1 == str2,則返回零;如str1 < str2,則返回負數;若str1 > str2,則返回正數。