原题描述
题目分析
经典题:求最大连通区域。
BFS
和DFS
皆可实现,不过BFS
优于DFS
。
代码部分
/********DFS递归实现*********/
#include<bits/stdc++.h>
using namespace std;
#define N 1001
char a[N][N];
int n, m;
//上下左右移动
int go[][2] = {
1, 0,
-1, 0,
0, 1,
0, -1
};
int dfs(int x, int y)
{
if(a[x][y] == '.')
return 0;
a[x][y] = '.';
int ans = 1; //本身自己的1
for(int i = 0; i < 4; i++)
{
int nx = x + go[i][0];
int ny = y + go[i