dfs的連通塊問題

2021-10-03 23:36:16 字數 1143 閱讀 8800

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這個題,我們找由 組成的連通塊的數量。這裡的連通塊的定義為以某點為中心,向周圍八個點擴散的都是和中心點連通...