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;
}
posted on 2009-03-06 20:17 abilitytao 閱讀(1124) 評論(0) 編輯 收藏 引用

