405021 - 框架堆叠

考虑五个图片堆叠在一起,比如图5.77中的9×8 的矩阵表示的是这些图片的边缘框。 图5.77

现在上面的图片顺序为图片1放在最底下,5放在最顶上。如果任何图片的边框覆盖了其他图片的边框,被覆盖的部分不会被显示出来。 观察样例如图5.78所示: 图5.78

那么从底向上图片的堆叠顺序为 EDABC。 现在的问题是给出一个堆叠后的表示,要确定从底向上的图片的堆叠顺序。下面是判定规则: (1)图片边框一定是由一个字母表示并且每条边至少3个字符。 (2)题目保证至少会给出边框每条边的一个字母,一个角的一个字符代表两条边。 (3)图片边框用大写字母表示,并且不会有两张图片的边框使用同一个大写字母。

输入

每组输入的第一行为堆叠后的矩阵的高度h(h≤30),第二行为矩阵的宽度w(w≤30)。接下来是一个h×w 的矩阵。 输入数据可能包括多组,中间没有空行。

输出

输出自底向上形成输入状况的图片边框所对应的字母。如果有多组排列方式,将所有的序列按照字母序排列输出。每个可行的序列占一行,对于每个输入,一定会至少有一个合法的序列满足题意。两组数据之间没有空格。

样例

输入

9
8
.CCC….
ECBCBB..
DCBCDB..
DCCC.B..
D.B.ABAA
D.BBBB.A
DDDDAD.A
E…AAAA
EEEEEE..

输出

EDABC
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题