再过几天就是诺鲁孜节了(波斯人的新年),爷爷邀请他的全家人到他的花园来聚会。在众多的宾客中有
整个花园可以看成一个有
一个迷宫必须具有下面所述的性质。在迷宫中的任意一对空格
一个小孩能够躲藏的方格当且仅当这个方格是空格,而且它恰有唯一一个邻居是空格。同一个空格内只能躲藏一个小孩。
题目会给出整个花园的地图作为输入文件。你的任务就是帮助爷爷构造一个能够躲藏尽量多小孩的迷宫。
实现细节
这是一个提交答案类型的题目,而且它有部份分。题目会给出
这道题目你不需要提交任何源代码。
输入格式
每个输入文件都描述了一个表示整个花园的网格,我们也会给出爷爷邀请的小孩数目
- 第
行: - 第
( )行:网格中的第 行,它是一个长度为 的字符串,包含以下的字符(中间没有空格):- '.':一个空格,
- '#':一块岩石。
输出格式
- 第
( )行:迷宫中的第 行(种植了灌木的花园)。它是一个长度为 的字符串,包含以下字母(中间没有空格):- '.':一个空格,
- '#':一块岩石,
- 'X':一个灌木。(注意字母 X 必须为大写字母)
数据范围
评分
一个有效的输出文件必须符合下列所有的条件:
- 除了把输入文件中的任意多个字母 '.' 修改成字母 'X'(即被灌木堵塞)外,输出的地图必须和输入的地图完全一样。
- 输出的地图必须符合在上文中提及的迷宫的所有性质。
对于某一个测试数据,如果你的输出不是有效的,你的这个测试数据的得分将会是
对于每组测试数据都存在一个能得到
请注意如果你的答案是有效的,但根据上述公式你的得分仍然是
例子
考虑以下输入:
4 5 5 ....# .#..# ...#. ....#
以下是其中一个有效的输出:
.X.X# .#..# ...#X XX..#
因为
OXOX# .#.O# ...#X XX.O#
以下的三个输出都不是有效的输出:
.XXX# ...X# XXXX# .#XX# .#.X# X#XX# ...#. ...#X ..X#X XX..# XXXX# ..XX#
在最左边的输出中,左上角的空格和最右列(位于右下方)的空格之间并没有一条简单路径。
在其他的两个输出中,对于任意两个空格之间都恰有两条简单路径相连。