#include<bits/stdc++.h>
using namespace std;
const int maxn = 100 + 5;
char oil[maxn][maxn];
int n,m;
void Find_at(int i, int j)
{
oil[i][j] = '*';
if(i <=0 || i > n && j < 0 || j >= m) return ;
if(oil[i-1][j-1] == '@')Find_at(i-1, j-1);
if(oil[i-1][j] == '@')Find_at(i-1, j);
if(oil[i-1][j+1] == '@')Find_at(i-1, j+1);
if(oil[i][j-1] == '@')Find_at(i, j-1);
if(oil[i][j+1] == '@')Find_at(i, j+1);
if(oil[i+1][j-1] == '@')Find_at(i+1, j-1);
if(oil[i+1][j] == '@')Find_at(i+1, j);
if(oil[i+1][j+1] == '@')Find_at(i+1, j+1);
}
int main()
{
while(cin >> n >> m && n)
{
int ans = 0;
memset(oil, 0, sizeof(oil));
for(int i = 1; i <= n; ++i)scanf("%s",oil[i]);
//printf("%c\n",oil[1][0]);
for(int i = 1; i <= n; ++i)
{
for(int j = 0; j < m; ++j)
{
if(oil[i][j] == '@')
{
++ans;
Find_at(i, j);
}
}
}
printf("%d\n",ans);
}
return 0;
}
572
最新推荐文章于 2020-11-15 20:38:50 发布