題目
輸入乙個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 ...