#include<bits/stdc++.h>
using namespace std;
int n,m;
char arr[201][201];
int f[201][201],s[201][201]={0};
void dfs(int x,int y,int x1,int y1){
if(s[x][y]==0){
if(arr[x][y]=='1'&&x>0&&x<=n&&y>0&&y<=m){
f[x1][y1]=abs(x1-x)+abs(y1-y);
return ;
}else if(x<=0||x>n||y<=0||y>m){
return ;
}else{
s[x][y]=1;
dfs(x-1,y,x1,y1);
dfs(x+1,y,x1,y1);
dfs(x,y-1,x1,y1);
dfs(x,y+1,x1,y1);
}
}else{
return ;
}
}
void sum(){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
s[i][j]=0;
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>arr[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
sum();
dfs(i,j,i,j);
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<f[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
萌新Orz