Dada una imagen en blanco y negro con altura h y anchura w, se te pide aplicar un filtro de gradiente. En lugar de usar píxeles blancos y negros, la imagen debe tener un gradiente basado en la distancia al píxel blanco más cercano. Inicialmente, todos los píxeles negros se establecen en 1, mientras que todos los píxeles blancos se establecen en 0. En la imagen resultante, los píxeles negros tendrán un valor igual a la distancia al píxel blanco más cercano.
La distancia se calcula por el número de pasos necesarios para pasar de una celda a otra moviéndose solo en direcciones horizontales o verticales.
Entrada
La primera línea de la entrada contiene 2 enteros h y w (1 ≤ h, w ≤ 500).
Las siguientes h líneas contienen w números que representan la imagen inicial.
Salida
El programa debe imprimir la imagen resultante.
Ejemplos
Entrada
Salida
3 4
1 1 1 0
1 1 0 0
1 0 0 1
3 2 1 0
2 1 0 0
1 0 0 1
Consejo
En lugar de iniciar BFS desde una sola celda, puedes iniciarlo desde múltiples fuentes.
En la literatura, esto se conoce como multi-source BFS.