poj3051

来源:互联网 发布:中世纪2 多核优化 编辑:程序博客网 时间:2024/06/08 15:00
深度优先的题,乍看还以为是动态规划
#include
#include
using namespace std;
string c[1001];
bool visited[1001][81];
int po[4][2]={0,1,-1,0,0,-1,1,0},count=0,W,H,i,j;
void dfs(int i,int j){
for(int k=0;k<4;k++){
int x=i+po[k][0],y=j+po[k][1];
if(x>=0&&x=0&&y
count++;
visited[x][y]=true;
dfs(x,y);
}
}
return;
}
int main(){
while(cin>>W>>H&&W>=1&&W<=80&&H>=1&&H<=1000){
memset(visited,false,sizeof(visited));
int max=0;
for(i=0;i
  cin>>c[i];
for(i=0;i
 for(j=0;j
 if(!visited[i][j]&&c[i][j]=='*'){
   count=1;
   visited[i][j]=true;
   dfs(i,j);
   max=max>count?max:count;
  }
 }
 cout<<max<<endl;
}
return 0;
}

0 0