POJ 3051-Satellite Photographs 图论(深度优先搜索DFS)

POJ 3051-Satellite Photographs 图论(深度优先搜索DFS)

这道题和3620基本上是一样的,记得当是我做3620的时候,收获真是大啊,不过现在只能用水题来形容这道3051了,呵呵。
要让更多的题目成为水题,这也是我的目标;

#include < iostream >
#include
< cmath >
#include
< cstdio >
using   namespace  std;

char  input[ 2000 ][ 2000 ];
int  val[ 2000 ][ 2000 ];
int  num;


void  dfs( int  x, int  y)
{

    
if(val[x][y]==0)
        
return;
    
else if(val[x][y]==1)
    
{
        val[x][y]
=0;
        num
++;
        dfs(x,y
+1);
        dfs(x
+1,y);
        dfs(x,y
-1);
        dfs(x
-1,y);

    }

    

}




int  main ()
{
    
int w,h;
    
int i,j;
    
char temp;
    
int max=0;
    num
=0;
    scanf(
"%d%d",&w,&h);
    cin.ignore();
    
for(i=1;i<=h;i++)
    
{

        
for(j=1;j<=w;j++)
        
{

            cin
>>temp;
            
if(temp=='*')
                val[i][j]
=1;
            
else
                val[i][j]
=0;
        }

    }

    
for(i=1;i<=h;i++)

    
{
        
for(j=1;j<=w;j++)
        
{
            num
=0;

            dfs(i,j);
            
if(num>max)
                max
=num;

        }

    }

    printf(
"%d\n",max);

    

return 0;
}

你可能感兴趣的:(POJ 3051-Satellite Photographs 图论(深度优先搜索DFS))