看下面的五張 9 x 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
現在,把這些圖案按照 1—5 的編號從下到上重疊,第 1 張在最下面,第 5 張在最頂端。如果一張圖案覆蓋了另外一張圖案,那麼底下圖案的一部分就變得看不見了。我們得到下面的圖案:
.CCC....
ECBCBB..
DCBCDB..
DCCC.B..
D.B.ABAA
D.BBBB.A
DDDDAD.A
E...AAAA
EEEEEE..
對於這樣一張圖案,計算構成這張圖案的矩形圖案從底部到頂端堆疊的順序。
下面是這道題目的規則:
1. 矩形的邊的寬度為 1 ,每條邊的長度都不小於 3 。
2. 矩形的每條邊中,至少有一部分是可見的。注意,一個角同時屬於兩條邊。
3. 矩形用大寫字母表示,並且每個矩形的表示符號都不相同。
有多組測資。
每組測資第一行:
兩個用空格分開的整數,
圖案高度 H (3 <= H <=30) 和圖案寬度 W (3 <= W <= 30) 。
每組測資第二行到第 H+1行 有H 行,每行 W 個字母。
按照自底向上的順序輸出字母。如果有不止一種情況,按照字典順序輸出每一種情況(至少會有一種合法的順序)。