luogu#P2741. [USACO4.4] 重叠的图像Frame Up

[USACO4.4] 重叠的图像Frame Up

题目描述

看下面的五张 9×89 \times 8 的图像:

........   ........   ........   ........   .CCC....
EEEEEE..   ........   ........   ..BBBB..   .C.C....
E....E..   DDDDDD..   ........   ..B..B..   .C.C....
E....E..   D....D..   ........   ..B..B..   .CCC....
E....E..   D....D..   ....AAAA   ..B..B..   ........
E....E..   D....D..   ....A..A   ..BBBB..   ........
E....E..   DDDDDD..   ....A..A   ........   ........
E....E..   ........   ....AAAA   ........   ........
EEEEEE..   ........   ........   ........   ........

   1          2           3          4          5

现在,把这些图像按照 151\sim 5 的编号从下到上重叠,第 11 张在最下面,第 55 张在最顶端。如果一张图像覆盖了另外一张图像,那么底下的图像的一部分就变得不可见了。于是我们得到下面的图像:

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

对于这样一张图像,计算构成这张图像的矩形图像从底部到顶端堆叠的顺序。

下面是这道题目的规则:

矩形的边的宽度为 11,每条边的长度都不小于 33

矩形的每条边中,至少有一部分是可见的。注意,一个角同时属于两条边。

矩形用大写字母表示,并且每个矩形的表示符号都不相同。

输入格式

第一行,两个用空格分开的整数:图像高 HH 和图像宽 WW3H,W303 \le H,W \le 30)。

第二行到第 H+1H+1 行,每行 WW 个字母,代表重叠后的图像。

输出格式

按照自底向上的顺序输出字母。如果有不止一种情况,按照字典顺序输出每一种情况,且在两种情况之间输出一个换行。数据保证至少有一组解。

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

提示

题目翻译来自NOCOW。

USACO Training Section 4.4