位图
时间限制:1秒 内存限制:256M
【题目描述】
给出一个大小为 \(n\) 行 \(m\) 列的矩形位图。该位图的每一个象素点不是白色就是黑色,但是至少有一个象素点是白色。在 \(i\) 行 \(j\) 列的象素点我们称为点\((i,j)\)。两个象素点 \(p_1 = (i_1,j_1)\) 和 \(p_2 = (i_2,j_2)\) 之间的距离定义如下:\(d(p_1,p_2)=|i_1-i_2|+|j_1-j_2|\)。
现在的任务是:对于每一个象素点,计算它到最近的白色点的距离。如果它本身是白色点,距离为 0。
【输入格式】
第 1 行:2 个整数 \(n,m\)。
接下来 \(n\) 行,每一行有一个长度为 \(m\) 的 0/1 字符串,描述一行象素点。如果点\((i,j)\)为白色,则值为 1,否则值为 0。
【输出格式】
共 \(n\) 行,每行有 \(m\) 个整数,数之间用 1 个空格分开,分别表示对应的象素点距离白色点的距离。
【输入输出样例】
Input
3 4
0001
0011
0110
Output
3 2 1 0
2 1 0 0
1 0 0 1
【数据限制】
对于 \(100\%\) 的数据,\(1≤n,m≤182\)。
【来源】
Mr.he