Algorithm 矩陣中「塊」的個數

2021-09-20 10:28:47 字數 1361 閱讀 6727

以下分別給出dfs和bfs實現方法

#include

#include

using

namespace std;

#define maxn 1000

#define ptf printf("\n");

#define here(a, b) printf("here here here (%d, %d)\n", a, b);

int n, m, num =0;

int g[maxn]

[maxn]=;

//01矩陣

int x[4]

=;//x,y的增量

int y[4]

=;bool vis[maxn]

[maxn]=;

//bool矩陣,初始都未被訪問為false

void

dfs(

int u,

int v)

//該元素的座標}}

intmain()

}}//output

// for(int i = 0; i < n; i++) //列印鄰接矩陣

//

// ptf;

// }

printf

("連通字塊個數:%d \n"

, num)

;return0;

}

#include

#include

using

namespace std;

#define maxn 1000

#define ptf printf("\n");

#define here(a, b) printf("here here here (%d, %d)\n", a, b);

struct node };

int n, m, num =0;

int g[maxn]

[maxn]=;

int x[4]

=;int y[4]

=;bool vis[maxn]

[maxn]=;

void

bfs(

int u,

int v)}}

}int

main()

}}//output

// for(int i = 0; i < n; i++) //列印鄰接矩陣

//

// ptf;

// }

printf

("連通字塊個數:%d \n"

, num)

;return0;

}

BFS識別矩陣中的塊數

題目描述 給出乙個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 ...

BFS 求給定的矩陣中「塊」的個數

給出乙個 m n 的矩陣,矩陣中的元素為 0 或 1。稱位置 x,y 與其上 下 左 右四個位置是相鄰的。如果矩陣中有若干個 1 是相鄰的 不必考慮兩兩相鄰 那麼稱這些 1 構成了乙個 塊 求給定矩陣中 塊 的個數。4思路 對於矩陣 matrix m n 遍歷每個元素,如果為0,則跳過 如果為 1 ...

標頭檔案algorithm中的常用函式

迴圈 對序列中的每個元素執行某操作 for each 查詢 在序列中找出某個值的第一次出現的位置 find 在序列中找出符合某謂詞的第乙個元素 find if 在序列中找出一子串行的最後一次出現的位置 find end 在序列中找出第一次出現指定值集中之值的位置 find first of 在序列中...