like this:
#include<bits/stdc++.h>
using namespace std;
int n,m,a[505][505],ans;
void bfs(){
for(int i=2;i<=n+1;i++){
for(int j=2;j<=m+1;j++){
if((a[i][j-1]==4 || a[i-1][j]==4 || a[i+1][j]==4 || a[i][j+1]==4) && a[i][j]!=1){
a[i][j]=4;
}
}
}
}
//4 5
//00000
//00*00
//0*0*0
//00*00
int main(){
cin>>n>>m;
char e;
for(int i=2;i<=n+1;i++){
for(int j=2;j<=m+1;j++){
cin>>e;
if(e=='*')a[i][j]=1;
else a[i][j]=0;
}
}
if(a[2][2]==0){a[2][2]=4;}
if(a[2][m+1]==0){a[2][m+1]=4;}
if(a[n+1][2]==0){a[n+1][2]=4;}
if(a[n+1][m+1]==0){a[n+1][m+1]=4;}
bfs();
for(int i=2;i<=n+1;i++){
for(int j=2;j<=m+1;j++){
cout<<a[i][j]<<' ';
if(a[i][j]==0){
ans++;
}
}
cout<<endl;
}
cout<<ans;
return 0;
}
but it WA,why?pleas healp,healp!