#jag2017autumnf. [jag2017autumn_f]RPG Maker

[jag2017autumn_f]RPG Maker

题目描述

你打算创建一个RPG地图。这张地图由H×WH\times W个图块组成,这里看不懂的可以参考这个网页,这是RPG Maker官方的帮助文档。在这个中,每一个图块都是'@','*','#'和'.'中的一个。这些符号的含义如下:
@:初始位置。这个RPG游戏中玩家从这个图块开始移动。
*:一个城市图块。游戏中要经过这个图块或者以这个图块结束。
#:道路图块。
.:一个空的图块。 你从输入中可以得到初始位置和所有的城市图块的位置,但没有道路图块的位置。然后,你必须决定哪些图块作为道路图块。 在这里,你想使这张地图上存在一个“旅程”。因为你不想让故事存在分支,所以“旅程”是不能有分叉的。更正式地说,“旅程”是一些图块的组合,它必须满足以下条件:
1.“旅程”中必须包含尽可能多的城市图块。
2.“旅程”中必须由这张地图上的非空图块组成。 3.“旅程”必须从初始位置开始。
4.“旅程”必须以一个城市图块结束。
5.“旅程”中必须包含所有道路图块。也就是说,不存在不在“旅程”中的道路图块。
6.“旅程”中不能存在分支。更详细的说法是,初始位置的图块和结束位置的城市图块必须和“旅程”中的一个图块相连,其余所有的道路图块和城市图块必须与“路程”中的两个图块相连。
7.你不用考虑“旅程”中到达某个城市图块的顺序。
最初,地图上不包含道路图块。你可以把任何一个的空图块变为“路程”中的道路图块来满足上述条件。你的任务是输出可以在“路途”中的最大城市图块的数量。


输入

输入包括下面形式的数据:
HH WW
S1S_1
S2S_2
\vdots
SHS_H 第一行包含两个整数HHWWHHWW保证满足H=4n1H=4n-1W=4m1W=4m-1,(nnmm满足1n,m101\le n,m\le 10 )。下面HH行输入不包括道路图块的地图图块情况。第i+1行包括长度为W的字符串SiS_i。保证在地图中'@'只出现1次,并且有1个以上的城市图块。

输出

输出包含“旅程”的地图。如果有多种地图都满足,你可以打印他们中的任意一个。

翻译提供者:sdxjzsq