给定一个N x M的01矩阵,其中1表示人,0表示糖。对于每一个位置,求出每个位置离糖的最短距离是多少。
矩阵中每个位置与它上下左右相邻的格子距离为1。
Input 第一行包含两个整数,N和M。
以下N行每行M个0或者1。
数据保证至少有1块糖。
1 ⇐ N, M ⇐ 800
Output 输出N行,每行M个空格分隔的整数。表示每个位置最近的糖离它的位置。
Sample Input
4 4
0110
1111
1111
0110
Sample Output
0 1 1 0
1 2 2 1
1 2 2 1
0 1 1 0
思路
- 题意:给我们一个$n*m$的二维举证,在这个矩阵上的元素由0、1构成,其中0代表糖果,1代表人,让求人到糖果所以到最短距离(相邻元素值的间隔是1)
- 典型的bfs问题,我们把可以把所有糖