#include <bits/stdc++.h>
using namespace std;
int a[1005][1005];
int m,n,h;
void tick(int b,int c){
if(a[b][c]>=1){
return ;
}else{
a[b][c]=2;
if (n-b==h){
tick(b,c-1);
tick(b-1,c);
tick(b,c+1);
}else if(b==n-1){
tick(b,c-1);
tick(b,c+1);
tick(b+1,c);
}else if(c==0){
tick(b-1,c);
tick(b,c+1);
tick(b+1,c);
}else if(c==m-1){
tick(b,c-1);
tick(b-1,c);
tick(b+1,c);
}else{
tick(b,c-1);
tick(b-1,c);
tick(b,c+1);
tick(b+1,c);
}
}
}
int main (){
int nc;
scanf("%d%d%d",&n,&m,&h);
for(int i=0;i<n;i++){
scanf("%d",&nc);
for(int c=m-1;c>=0;c--){
a[i][c]=nc%10;
nc=nc/10;
}
if(a[i][0]==0 && n-i<=h){
tick(i,0);
}
if(a[i][m-1]==0 && n-i<=h){
tick(i,m-1);
}
}for(int i=0;i<m;i++){
if(a[0][i]==0 && n-i<=h){
tick(0,i);
}
if(a[n-1][i]==0 && n-i<=h){
tick(n-1,i);
}
}
for(int i=0;i<n;i++){
for(int c=0;c<m;c++){
printf("%d",a[i][c]);
}
printf("\n");
}
return 0;
}
为什么RE