1275: 位图

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:39 解决:32

题目描述

现在我们给出一个n*m的单色位图,且该为图中至少含有一个白色的像素。我们用(i, j)来代表第i行第j列的像素,并且定义两点
p1=(i1, j1)和p2=(i2, j2)之间的距离为:
d(p1, p2)=|i1 - i2| + |j1 ?C j2|
任务:
请写一个程序:对于每个像素,计算出离该像素最近的白色像素与它的距离;

输入

第一行包括两个用空格分开的整数n和m,1 <=n <= 182,1<=m<= 182。以下的n行每行包括一个长度为m的用0和1组成的字符串,
在第i+1行的第j个字符如果为”1”,那么表示像素(i, j)为白的,否则为黑的。

输出

输出一个n*m的数表,其中的第i行的第j个数字为f(i, j)表示像素(i, j)到最近的白色像素的距离。

样例输入 复制

3 4
0001
0011
0110

样例输出 复制

3 2 1 0
2 1 0 0
1 0 0 1