Llenar el Laberinto

Se te proporciona un laberinto en forma de cuadrícula con altura h y ancho w, donde las celdas de piso aparecen con puntos (.) y las paredes con símbolos de almohadilla (#). Tu tarea es marcar k de las celdas de piso como paredes. Sin embargo, debes asegurarte de que las celdas restantes sigan estando conectadas entre sí y no terminar separando ninguna parte del laberinto.
Se garantiza que, en el laberinto inicial, las celdas de piso forman un área totalmente conectada.

Entrada

La primera línea de la entrada contiene 3 enteros h, w (1 ≤ h, w ≤ 500) y k (0 ≤ k < n), donde n es la cantidad de celdas de piso del laberinto inicial.

Salida

El programa debe imprimir cualquier laberinto válido donde k celdas de piso del laberinto inicial se marquen como paredes y no existan áreas desconectadas.
Las nuevas paredes deben representarse con el símbolo X.

Ejemplos

Entrada

5 4 5
#...
#.#.
.#..
...#
.#.#
Salida

#XXX
#X#X
.#..
...#
.#.#

Entrada

3 4 2
#..#
..#.
#...
Salida

#XX#
..#.
#...
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue