杭电ACM-1241 Oil Deposits

来源:互联网 发布:全站仪数据如何处理 编辑:程序博客网 时间:2024/06/07 03:24
#include<iostream>
#define N 150
#define M 150
using namespace std;
char oil[N][M];
void dfs(int x,int y)
{
oil[x][y]='*';
int i,j,n,m;
for(i=-1;i<=1;i++)
{
for(j=-1;j<=1;j++)
{
int n=x+i,m=y+j;
if(n>=0 && n<N && m>=0 && m<M && oil[n][m]=='@')
dfs(n,m);
}
}
}
int main()
{
while(1)
{
int num=0,N1,M1;
cin>>N1>>M1;
if(N1==0)
return 0;
for(int i=0;i<N1;i++)
for(int j=0;j<M1;j++)
cin>>oil[i][j];
for(int x1=0;x1<N1;x1++)
{
for(int y1=0;y1<M1;y1++)
{
if(oil[x1][y1]=='@')
{
dfs(x1,y1);
num++;
}
}
}
cout<<num<<endl;
}


}