BFS迷宮求塊問題

2021-08-20 14:29:48 字數 684 閱讀 1041

題目描述:

給出乙個m*n的矩陣,矩陣中的元素為0或1.稱位置(x,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

輸出:4

#include #include#includeusing namespace std;

const int maxn=100;

struct nodenode;

int n,m;//矩陣的大小為n*m

int matrix[maxn][maxn]; //01矩陣

bool inq[maxn][maxn]=;//記錄位置x,y是否入過隊

int x[4]=;//增量陣列

int y[4]=;

bool judge(int x,int y)

//bfs函式訪問位置x,y所在塊,將該塊所有1的inq都設定為true;

void bfs(int x,int y)

} }

} int main(){

scanf("%d%d",&n,&m);

for(int x=0;x

BFS 迷宮問題(求最短路)

題目 給定乙個大小為 n m 的迷宮。迷宮由通道和牆壁組成,每一步可以向鄰接的上下左右四格 的通道移動。請求出從起點到終點所需的最小步數。請注意,本題假定從起點一定可以移動 到終點。限制條件 bfs 迷宮問題自己寫 created by showlo on 2018 4 13.include inc...

迷宮問題bfs

迷宮問題 採用佇列的廣度優先遍歷 bfs 思想是從乙個頂點v0開始,輻射狀地優先遍歷其周圍較廣的區域 找到的解為最優解 include define m 8 define n 8 define maxsize 1000 typedef struct box typedef struct qutype...

迷宮問題BFS

the code 資料結構迷宮.cpp 定義控制台應用程式的入口點。include stdafx.h include include include include define n 4 定義迷宮為4 4 using namespace std struct pot 為記錄路徑的rec準備,座標 x...