#P2335. [SDOI2005] 位图
[SDOI2005] 位图
题目描述
现在我们给出一个n*m的单色位图,且该图中至少含有一个白色的像素。我们用(i, j)来代表第i行第j列的像素,并且定义两点p1=(i1, j1)和p2=(i2, j2)之间的距离为:
d(p1, p2)=|i1 - i2| + |j1 – j2| 任务:
请写一个程序:
读入该位图;
对于每个像素,计算出离该像素最近的白色像素与它的距离;
把结果输出。
输入格式
第一行包括两个用空格分开的整数n和m,1<=n<=150,1<=m<=150。
以下的n行每行包括一个长度为m的整数为零或一,在第i+1行的第j个字符如果为”1”,那么表示像素(i, j)为白的,否则为黑的。
输出格式
输出一个n*m的数表,其中的第i行的第j个数字为f(i, j)表示像素(i, j)到最近的白色像素的距离
3 4
0 0 0 1
0 0 1 1
0 1 1 0
3 2 1 0
2 1 0 0
1 0 0 1