2016暑期集訓 搜尋 簡單BFS

2021-07-15 04:32:56 字數 1444 閱讀 5810

雖然,雖然,這道題很簡單。

但是我一直覺得我自己關於搜尋可以算是一點都不會的,所以寫得時候也是有點沒底,可是,出乎意料的是我**寫完測了一下樣例是對的,交了之後發現過了,還是很開心的!看題,想題,敲**, 交題,ac!對,就是沒有debug這一步,這種一順溜,不用debug就過題的感覺真爽。第一次從搜尋的題目上得到快感。

紅與黑

description

有一間長方形的房子,地上鋪了紅色、黑色兩種顏色的正方形瓷磚。你站在其中一塊黑色的瓷磚上,只能向相鄰的黑色瓷磚移動。請寫乙個程式,計算你總共能夠到達多少塊黑色的瓷磚。

input

包括多個資料集合。每個資料集合的第一行是兩個整數w和h,分別表示x方向和y方向瓷磚的數量。w和h都不超過20。在接下來的h行中,每行包括w個字元。每個字元表示一塊瓷磚的顏色,規則如下

1)『.』:黑色的瓷磚;

2)『#』:白色的瓷磚;

3)『@』:黑色的瓷磚,並且你站在這塊瓷磚上。該字元在每個資料集合中唯一出現一次。

當在一行中讀入的是兩個零時,表示輸入結束。

output

對每個資料集合,分別輸出一行,顯示你從初始位置出發能到達的瓷磚數(記數時包括初始位置的瓷磚)。

45【題目大意】見題面

【解法】明天再來補

【ac**】

#include 

#include

#include

#include

#include

#include

#define nmax 23

using

namespace

std;

typedef

struct point;

char

map[nmax][nmax];

int vis[nmax][nmax];

queue

q;int ans;

int dx[4] = ;

int dy[4] = ;

int w, h;

bool check(int x, int y)

return

false;

}int bfs(point p)}}

}return ans;

}int main()

point start;

for(int i = 0; i < h; i++)}}

printf("%d\n", bfs(start));

}return

0;}

2016暑期集訓 搜尋 簡單BFS 路徑儲存

搜尋的功底還是太弱了,寫這題謝了快兩個小時。主要的時間花費在思考如果儲存路徑上了。因為題目要求的是最短路徑,而且保證題目有唯一解,那麼只要寬搜從 0,0 點搜到 4,4 點就是走的路徑了。但是麻煩的是記錄中間路徑。題面 迷宮問題 description 定義乙個二維陣列 int maze 5 5 i...

2016暑期集訓集中貼

暑假期間網上練習的題解將在此部落格公布,具體內容見後文。以下是暑期集訓各隊員題量統計 包括賽後補的題 2016暑期集訓acboard 截至07 23 總題量557 5101010 1163 隊員名稱 cf 1 cf 2 cf 3 cf 4 cf 5 模擬訓練1 模擬訓練2 模擬訓練3 模擬訓練4 模...

2016暑期集訓1A 組合數

問題 a 組合數 時間限制 1 sec 記憶體限制 128 mb 題目描述 從m個不同元素中,任取n n m 個元素並成一組,叫做從m個不同元素中取出n個元素的乙個組合 從m個不同元素中取出n n m 個元素的所有組合的個數,叫做從m個不同元素中取出n個元素的組合數,記作c m,n 現在給你m,n,...