原创 POJ 1321 棋盤問題(DFS)

很經典的一道深搜題,也比較簡單,這個先敲出來當作模板放這裏,哈哈。 等下再去看看八皇后問題。 #include<iostream> #include<cstdio> #include<cstring> using namespace s

原创 HDU 1241 Oil Deposits(DFS)

這道題是一個比較水的搜索題,思路就是先找到一塊油田,然後找這塊油田周圍的油田,這樣組成了一大塊油田,看一共有多少大塊油田,輸出。 十分神奇的是我的move數組如果定義到全局的話就CE,這一個問題改了好久才發現,然後定義到DFS裏邊就過了,

原创 POJ 3984 迷宮問題

題目可以說是很經典的一道打印迷宮路徑問題了,具體的思路就是定義結構體,裏面存當前的位置和當前位置的前一個位置,等找到終點之後再把路徑上的每一個點輸出就好了,具體的代碼如下: #include<iostream> #include<cst

原创 迷宮問題(BFS)

給定一個大小爲N*M的迷宮,由通道('.')和牆壁('#')組成,其中通道S表示起點,通道G表示終點,每一步移動可以達到上下左右中不是牆壁的位置。試求出起點到終點的最小步數。(本題假定迷宮是有解的)(N,M<=100) 樣例輸入: 10

原创 POJ 2386 Lake Counting(DFS)

題意幾乎和杭電OJ上的合併石油那個題一樣,但是我改哪個石油的代碼交的時候沒過,索性就自己又再寫了一遍,簡單搜索,可以說是比較簡單了,附代碼如下: #include<iostream> #include<cstdio> #include<

原创 POJ 1182 食物鏈

解題思路:並查集經典中的經典題,在網上看了很多大牛的思路,大部分是增加一個結構體存動物間的關係,結合並查集判斷,但是關係域的更新比較複雜,一下子不太容易理解。所以就有人另開思路,這裏介紹一個十分巧妙的思路。 一般我們都會把一個動物當成一個

原创 PAT L1-050. 倒數第N個字符串

題目是在已確定長度的情況下讓你求出倒數第n個字符串是什麼,倒數的既然不好求,可以先轉化爲要求正數的第幾個L1-050 倒數第N個字符串 (15 分) 給定一個完全由小寫英文字母組成的字符串等差遞增序列,該序列中的每個字符串的長度固定爲 L

原创 歸併排序

歸併排序的主要步驟是: (1)把前一半排序 (2) 把後一半排序 (3) 把兩半歸併到一個新的有序數組,然後再拷貝回原數組,排序完成。 代碼如下: #include<iostream> using namespace std; void

原创 快速排序

快速排序的步驟如下: (1)設k = a[0],將k挪到適當位置,使得比k小的元素都在k左邊,比k大的元素都在k右邊,和k相等的,不關心在k左右出現均可。 (2)把k左邊的部分快速排序 (3)把k右邊的部分快速排序 代碼如下: #inc

原创 POJ 3264 Balanced Lineup(線段樹)

Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 64379   Accepted: 30010 Case Time Limit: 2

原创 POJ 3278 Catch That Cow(廣搜)

Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 119157   Accepted: 37178 Description Farmer

原创 POJ 1611 The Suspects(並查集)

The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 50230   Accepted: 24035 Description Severe ac

原创 POJ 3258 River Hopscotch

River Hopscotch Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19859   Accepted: 8263 Description Every y

原创 最長上升子序列問題(動態規劃)

一個數的序列bi,當b1 < b2 < ... < bS的時候,我們稱這個序列是上升的。對於給定的一個序列(a1, a2, ..., aN),我們可以得到一些上升的子序列(ai1, ai2, ..., aiK),這裏1 <= i1 < i

原创 百練 4103 踩方格(深搜)

描述 有一個方格矩陣,矩陣邊界在無窮遠處。我們做如下假設: a.    每走一步時,只能從當前方格移動一格,走到某個相鄰的方格上; b.    走過的格子立即塌陷無法再走第二次; c.    只能向北、東、西三個方向走; 請問:如果允許在