Relleno por difusión

Tiempo límite 2 s
Memoria límite 256 MB
Casos de prueba 11
Dificultad Fácil Algoritmos
Mostrar (3) BFSDFSMatrices
Enviar solución

Puntos: 5

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

Una imagen es una matriz de \(m \times n\) píxeles, cada uno con un color entero. Al "rellenar" desde el píxel \((r, c)\) con el color \(k\), cambian a \(k\) el píxel \((r, c)\) y todos los píxeles que se alcanzan desde él moviéndose arriba, abajo, izquierda o derecha por píxeles del mismo color original que \((r, c)\).

Imprime la imagen después del relleno.

Entrada

La primera línea tiene \(m\) y \(n\) \((1 \le m, n \le 300)\). Siguen \(m\) líneas con \(n\) enteros cada una, los colores \((0 \le v < 2^{16})\). La última línea tiene \(r\), \(c\) y \(k\) \((0 \le r < m,\ 0 \le c < n,\ 0 \le k < 2^{16})\).

Salida

La imagen resultante: \(m\) líneas con \(n\) enteros cada una.

Nota

Una región puede tener \(9 \cdot 10^4\) píxeles: una recursión sin cuidado puede desbordar la pila.

Ejemplo 1

Entrada

3 3
1 1 1
1 1 0
1 0 1
1 1 2

Salida

2 2 2
2 2 0
2 0 1

Ejemplo 2

Entrada

2 3
0 0 0
0 0 0
0 0 0

Salida

0 0 0
0 0 0

Basado en el problema 733 de LeetCode, Flood Fill, 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.