#include<bits/stdc++.h>
using namespace std;
int n,m,dx[4]={-1,1,0,0},dy[4]={0,0,-1,1};
int a[100][100];//保存地图,枚举方向
int sum,q[10000][4],h,t;//模拟BFS的数组
char b;
void fun(int x,int y)
{
h=1,t=1;
q[h][1]=x;
q[h][2]=y;//初始化
while(h<=t)//队列不为空
{
for(int i=0;i<4;i++)//枚举方向
{
int xx=q[h][1]+dx[i];
int yy=q[h][2]+dy[i];
if(xx>=1&&xx<=n&&yy>=1&&yy<=m)//如果满足移动条件
{
t++;
q[t][1]=xx;
q[t][2]=yy;
if(a[xx][yy]==0)
{
if(a[xx-1][yy]==1&&a[xx][yy-1]==1&&a[xx+1][yy]==1&&a[xx][yy+1]==1){
sum++;
}
}
}
}
h++;//继续循环,head++
}
}
signed main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++){
std::cin>>b;
if(b=='*') a[i][j]=1;
}
}
fun(i,j);
cout<<sum;
return 0;
}
全WA
有问题尽管提出来
(玄关)