01迷宮
連通塊:在搜尋的過程中,從開始的塊開始,它能走過的塊是連在一起的,即它們能夠走的最大距離是是相同的。所以在搜尋的過程中,我們要把走過的先連在一起,用個陣列儲存走過的每一塊,然後在搜尋的最後,對在陣列的每一塊賦值。
#include
#include
using
namespace std;
int n;
char maze[
1005][
1005];
//儲存地圖
int ans[
1005][
1005];
//儲存答案
bool hashmap[
1005][
1005];
//記錄走過了嗎
int in[
1000001][
3];//用來儲存連通塊
struct node
;queue q;
//宣告乙個佇列
void
bfs();
bool
judge
(int
,int);
intmain()
node first;
int x, y;
for(t =
0; t < m; t++)}
}void
bfs();
int y[4]
=;int total =1;
node first = q.
front()
;int x = first.row;
int y = first.column;
in[tootal][1
]= x;
in[total][2
]= y;
while
(q.size()
!=0)}
if(q.
size()
!=0)}
for(
int t=
1; t <= total; t++
)//給連通塊賦值
}bool
judge
(int x,
int y)
搜尋dfs連通塊問題1
hdu1241oil deposits 題目鏈結 題目意思簡單就是求有油廠,油廠是由油點組成,水平,垂直,對角都可以連在一起的,求有多少個這樣的油廠 一樣的 dfs簡單的基礎題 做題的時候出了一點問題就是在輸入的時候用的 c輸入,把ab搞反了。b對應x,a對應y 其實這類題目可以用 s輸入還好些 就...
dfs求連通塊
遞迴是什麼?絕大部分人都會說 自己呼叫自己,剛開始我也是這樣理解遞迴的。確實沒錯,遞迴的確是自己呼叫自己。遞迴簡單的應用 編寫乙個能計算斐波那契數列的函式,也就是這樣 int fac int n 相信絕大部分人都能看懂這段 遞迴除了可以用自己呼叫自己這樣描述之外,還可以這樣表示遞迴函式 遞推式 邊界...
dfs之找連通塊
尋找連通塊 題目傳送門 題目的大致意思就是給你一張地圖,找到規定的字元所組成的連通塊的數量。sample input 1 1 3 5 1 8 5 5 0 0 sample output01 22這個題,我們找由 組成的連通塊的數量。這裡的連通塊的定義為以某點為中心,向周圍八個點擴散的都是和中心點連通...