#include<iostream>
#include<cstdio>
using namespace std;
char a[505][505];
int n,b[505][505],m;
int dx[4]={1,-1,0,0},dy[4]={0,0,-1,1};
void dfs(int x,int y)
{
for(int i=0;i<4;i++)
{
int xx=x+dx[i];
int yy=y+dy[i];
if(xx<=n&&xx>=1&&yy<=m&&yy>=1&&b[xx][yy]==0)
{
b[xx][yy]=1;
dfs(xx,yy);
}
}
}
int main()
{
int ans=0;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
scanf("%s",(a[i]+1));
for(int j=1;j<=m;j++)
if(a[i][j]=='*')b[i][j]=1;
else b[i][j]=0;
}
dfs(1,1);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
if(!b[i][j])ans++;
}
cout<<ans;
return 0;
}
为什么爆0了???