问题 5448 --一锐的迷宫

5448: 一锐的迷宫★★★

时间限制: 2 Sec  内存限制: 256 MB
提交: 21  解决: 12
[提交][状态][命题人:]

题目描述

一锐喜欢网格迷宫。一个网格迷宫是一个 n × m 的长方形迷宫,其中每个单元格要么是空白的,要么是墙体。您可以从一个单元格走到另一个单元格,只要两个单元格均是空白的,且拥有一条公共的边。

 

一锐绘制了一个网格迷宫,包含的全部空白单元格形成了一个连通区域。换言之,您可以从任何一个空白的单元格,走到其它任意的空白单元格。一锐的迷宫如果墙体太少,他就不喜欢这个迷宫。他希望将 k 个空白的单元格转换为墙体,使得剩余的全部单元格仍然能够形成一个连通区域。请帮助他实现这个任务。

输入

第一行包含了三个整数 n, m, k (1 n, m 500, 0 k < s),其中 n m 分别是迷宫的高度和宽度,k 是一锐希望加入的墙体数目,并且字母 s 表示原始迷宫中的空白单元格数目。

 

接下来的 n 行中,每行包含 m 个字符。它们描述了原始的迷宫。如果某行中的一个字符等于 ".",则相应的单元格为空白;如果字符等于 "#",则单元格为墙体。

输出


打印 n 行,每行包含 m 个字符:符合一锐需求的新迷宫。将已转换为墙体的原始空白单元格标识为 "X";其它单元格必须保留为未更改状态 (也就是 "." 和 "#")。


样例输入
Copy
3 4 2
#..#
..#.
#...
样例输出
Copy
#..#
..#X
#..X

提示

来源

[提交][状态]