#include <bits/stdc++.h>
using namespace std;
int n, m, i, j, k;
char s[25][25];
void fill(int x, int y, int z){
    int i, j, k;
    s[x][y] = '.';//数字单独替换
    for(i=1; i<=n; i++){
        for(j=1; j<=m; j++){
            if(abs(i-x)+abs(j-y)<=z && s[i][j]=='#'){
                s[i][j] = '.';
            }//z范围内#替换成.
        }
    }
}
int main(){
    scanf("%d%d", &n, &m);
    for(i=1; i<=n; i++){
        scanf("%s", s[i]+1);
    }
    for(i=1; i<=n; i++){
        for(j=1; j<=m; j++){
            if(s[i][j]>='0' && s[i][j]<='9'){
                fill(i, j, s[i][j]-48);
            }
        }
    }
    for(i=1; i<=n; i++){
        printf("%s\n", s[i]+1);
    }
    return 0;
}

作者 crxis

发表回复