题目
输入一个m行n列的字符矩阵,只要有两个‘@’相邻就能组成一个联通块,如下面的字符矩阵有2个联通块
****@
* @@*@
*@**@
@@@*@
@@**@
分析
将字符矩阵看作一个图,用DFS对图中的字符遍历,从每个’@’出发,遍历’@’周围的字符。每次访问时给该位置打上块标志,表示已访问,从而避免多次访问同一个位置。
代码
#include<iostream>
#include<windows.h>
#define maxn 10
using namespace std;
int m,n;
char pic[maxn][maxn];
int idx[maxn][maxn];
void dfs(