4 5
.g…
…
…g…
…
2
gggg.
gggg.
ggggg
.ggg.
#include <iostream>
using namespace std;int r,l;char arr[1005][1005];int t;char dp[1005][1005];
int dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
void dfs(int x,int y)
{
for(int i=0;i<4;i++)
{
int a=x+dx[i];int b=y+dy[i];
if(a<1||a>r||b<1||b>l)continue;//return是不对的
if(arr[a][b]=='.')dp[a][b]='g';
}
}
int main()
{
cin>>r>>l;
for(int i=1;i<=r;i++)
{
for(int j=1;j<=l;j++)
{
cin>>arr[i][j];
}
}
for(int i=1;i<=r;i++)
{
for(int j=1;j<=l;j++)
{
dp[i][j]=arr[i][j];
}
}
cin>>t;
for(int i=1;i<=t;i++)
{
for(int i=1;i<=r;i++)
{
for(int j=1;j<=l;j++)
{
if(arr[i][j]=='g')
{
dfs(i,j);
}
}
}
for(int i=1;i<=r;i++)
{
for(int j=1;j<=l;j++)
{
arr[i][j]=dp[i][j];
}
}
}
for(int i=1;i<=r;i++)
{
for(int j=1;j<=l;j++)
{
cout<<arr[i][j];
}
cout<<endl;
}
return 0;
}