long g[2][105][105];
long n,m,t;
void Input()
{
long i,j;
freopen("code.in","r",stdin);
freopen("code.out","w",stdout);
scanf("%ld%ld%ld",&m,&n,&t);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%1d",&g[1][i][j]);
return;
}
void Work()
{
long i,j,k;
long s;
for(k=2;k<=t;k++)
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
s=0;
s+=g[1-k%2][i-1][j-1];
s+=g[1-k%2][i-1][j ];
s+=g[1-k%2][i-1][j+1];
s+=g[1-k%2][i ][j+1];
s+=g[1-k%2][i+1][j+1];
s+=g[1-k%2][i+1][j ];
s+=g[1-k%2][i+1][j-1];
s+=g[1-k%2][i ][j-1];
if(g[1-k%2][i][j]==1)
{
if(s>3||s<2)g[k%2][i][j]=0;
else g[k%2][i][j]=1;
}else
{
if(s==3)g[k%2][i][j]=1;
}
}
return;
}
void Output()
{
long i,j;
for(i=1;i<=n;i++,printf("\n"))
for(j=1;j<=m;j++)
printf("%ld",g[t%2][i][j]);
return;
}
int main()
{
Input();
Work();
Output();
return(0);
}
代码丑,牛们来BS我把