HDOJ 1241 Oil Deposits

题意:(dfs水题)

    一个n*m的矩阵,每个@点周围的8个相邻的点也是@

    就说明他们是连在一起的水洼,求一共有多少水洼。

分析:

   dfs从前到后遍历的搜索,搜到一个就将其改为*以防重复计数

    然后在遍历的过程中记录一下水洼的数目即可。

#include 
#include 
using namespace std;
const int maxn = 105;
int m,n;
//int dx[4]={-1,0,0,1},dy[4]={0,1,-1,0};
char grid[maxn][maxn];
void dfs(int x,int y)
{
    grid[x][y]='*';
    int nx,ny,dx,dy;
    for(dx=-1;dx<=1;dx++)
    {
        for(dy=-1;dy<=1;dy++)
        {
            nx=dx+x; ny=dy+y;
            if(nx>=0&&nx=0&&ny
    return 0;
}


 

你可能感兴趣的:(dfs)