POJ 1979 DFS

Posted |瑾诺学长|

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 1979 DFS相关的知识,希望对你有一定的参考价值。

题目链接:http://poj.org/problem?id=1979

#include<cstring>
#include<iostream>
using namespace std;
int n=0,h=0,sum=0;
char aa[21][21];

void DFS(int p,int q)
{
    if(aa[p][q]==.&&p>=0&&p<h&&q>=0&&q<n)
{
    sum++;
    aa[p][q]=#;
}
else return ;
    DFS(p-1,q);
    DFS(p+1,q);
    DFS(p,q-1);
    DFS(p,q+1);
}
int main()
{

    while(cin>>n>>h)
    { if(n==0||h==0)break;
        int p=0,q=0;
        sum=0;
        memset(aa,0,sizeof(aa));
        for(int i=0;i<h;i++)
           for(int j=0;j<n;j++)
           {

            cin>>aa[i][j];

               }
               for(int i=0;i<h;i++)
           for(int j=0;j<n;j++)
           {
                    if(aa[i][j]==@)
                    {
                        p=i;q=j;
                    aa[i][j]=.;
                    }


            }
            DFS(p,q);
    cout<<sum<<endl;
    }

    return sum;
}

 

以上是关于POJ 1979 DFS的主要内容,如果未能解决你的问题,请参考以下文章

POJ1979

[dfs] [FloodFill] POJ1979 Red And Black

POJ 1979 Red and Black(DFS)

POJ 1979 Red and Black(简单DFS)

POJ_1979_dfs

11.17 dfs poj1979 Red and Black