问题描述
小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1。
小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。
这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小块空地扩展,
这四小块空地都将变为有草的小块。
请告诉小明,k 个月后空地上哪些地方有草。
#include<stdio.h>
#include<string.h>
int main()
{
char a[1000][1000];
char as[1000][1000];
int n,m;
int i,j,t;
int k;
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)scanf("%s",&a[i][1]);
scanf("%d",&k);
for(t=1;t<=k;t++)
{
printf("time=%d\n ",t);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(a[i][j]=='g')
{
as[i-1][j]='g';
as[i+1][j]='g';
as[i][j-1]='g';
as[i][j+1]='g';
}
}
for(i=1;i<=n;i++)for(j=1;j<=m;j++)
if(as[i][j]=='g')a[i][j]='g';
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)printf("%c",a[i][j]);
printf("\n");
}
return 0;
}