/*給出乙個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...