DFS求聯通塊

2021-07-29 10:25:54 字數 527 閱讀 9649

題目

輸入乙個m行n列的字元矩陣,只要有兩個『@』相鄰就能組成乙個聯通塊,如下面的字元矩陣有2個聯通塊分析

將字元矩陣看作乙個圖,用dfs對圖中的字元遍歷,從每個』@』出發,遍歷』@』周圍的字元。每次訪問時給該位置打上塊標誌,表示已訪問,從而避免多次訪問同乙個位置。

**

#include

#include

#define maxn 10

using

namespace

std;

int m,n;

char pic[maxn][maxn];

int idx[maxn][maxn];

void dfs(int row,int col,int index)}}

}int main()

}memset(idx,0,sizeof(idx));

int cnt = 0;

for(i = 0; i < m; i++)}}

cout

0;}

dfs模板 dfs找聯通塊分割槽

題目描述 天文學家doctor博士發明了一種太空分割槽方法,在這個方法中,宇宙裡亮度相近的區域被劃為同乙個星區。空間中相鄰兩區域若亮度差不大於給定整數m,則這兩區域屬於同一星區。現給你乙個空間的三維座標圖,每個座標整點表示乙個區域,其值表示其亮度,而其上 下 左 右 前 後六個區域被認為是與其相鄰的...

dfs求連通塊

遞迴是什麼?絕大部分人都會說 自己呼叫自己,剛開始我也是這樣理解遞迴的。確實沒錯,遞迴的確是自己呼叫自己。遞迴簡單的應用 編寫乙個能計算斐波那契數列的函式,也就是這樣 int fac int n 相信絕大部分人都能看懂這段 遞迴除了可以用自己呼叫自己這樣描述之外,還可以這樣表示遞迴函式 遞推式 邊界...

學習記錄 DFS的聯通塊與計數 剪枝

1 include 2 using namespace std 3const int maxn 1000 4 intn,m 5 地圖尺寸 6int maap maxn 10 maxn 10 7 查詢零一地圖中的1聯通塊個數 8bool vis maxn 10 maxn 10 9 int direx ...