廣度優先搜尋遍歷之數塊數(演算法筆記學習)

2021-10-02 13:47:52 字數 1006 閱讀 1094

/*給出乙個m*n的矩陣,矩陣中的元素或為0,或為1.稱位置(x,y)與其上下左右四個位置(x,y+1);(x,y-1)(x+1,y)(x-1,y)是相鄰的。如果矩陣

中有若干各個1是相鄰的(不必兩兩相連),那麼稱這些1構成了乙個塊。求給定的矩陣中塊的個數。

0 1 1 1 0 0 1

0 0 1 0 0 0 0

0 0 0 0 1 0 0

0 0 0 1 1 1 0

1 1 1 0 1 0 0

1 1 1 1 0 0 0

例如上個6*7矩陣中的「塊」的個數為4;*/

#include

#include

using namespace std;

const

int maxn=

100;

struct nodenode;

int m,n;

int matrix[maxn]

[maxn]

;bool inq[maxn]

[maxn]=;

int x[4]

=;int y[4]

=;bool judge

(int x,

int y)

void

bfs(

int x,

int y)}}

}int

main()

}int ans=0;

for(

int x=

0;x}printf

("%d\n"

,ans)

;return0;

}/* 另附廣搜模板:

void bfs(int s){

queueq;

q,push(s);

while(!q.empty()){

取出隊首元素;

訪問隊首元素;

將隊首元素出隊;

將top節點的下層未入隊節點入隊, 並設定為已經入隊

*/

演算法之廣度優先搜尋

查詢最短路徑 廣度優先搜尋可回答兩類問題 第一類問題 從節點a出發,有前往節點b的路徑嗎?第二類問題 從節點a出發,前往節點b的哪條路徑最短?資料結構 人際關係圖 實現 map graph new hashmap graph.put 我 arrays.aslist 孫 吳 李 graph.put 孫...

廣度優先搜尋之最大殺敵數

在你的位置放置乙個炸彈,放在哪點能殺最多的敵人,你的位置不能和敵人相同 輸入 13 13 3 3 gg.ggg ggg.g g g g g g g g gg.ggg.gg g g g.g.g g g g ggg.gg g g g g gg.ggg g.gg 輸出將炸彈放置在 7,11 最多可以消滅 ...

搜尋演算法之廣度優先

employee info class employee class solution definition for a node.class node node int val,vector children class solution if v2.size 0 v.push back v2 i...