Matriz de ceros y unos

Tiempo límite 2 s
Memoria límite 256 MB
Casos de prueba 11
Dificultad Medio Algoritmos
Mostrar (3) BFSMatricesProgramación dinámica
Enviar solución

Puntos: 10

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Tienes una matriz de \(m \times n\) con ceros y unos (hay al menos un cero). Para cada celda, calcula la distancia a la celda con \(0\) más cercana, donde moverse a una celda vecina (arriba, abajo, izquierda o derecha) cuesta \(1\).

Entrada

La primera línea tiene \(m\) y \(n\) \((1 \le m, n,\ mn \le 2 \cdot 10^5)\). Siguen \(m\) líneas con \(n\) valores \(0\) o \(1\).

Salida

\(m\) líneas con \(n\) enteros: la distancia de cada celda al \(0\) más cercano.

Ejemplo 1

Entrada

3 3
0 0 0
0 1 0
0 0 0

Salida

0 0 0
0 1 0
0 0 0

Ejemplo 2

Entrada

3 3
0 0 0
0 1 0
1 1 1

Salida

0 0 0
0 1 0
1 2 1

Basado en el problema 542 de LeetCode, 01 Matrix, adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.


Comentarios

No hay comentarios por el momento.