bzoj#P1501. [NOI2005]智慧珠游戏

[NOI2005]智慧珠游戏

题目描述

智慧珠游戏拼盘由一个三角形盘件和 1212 个形态各异的零件组成。拼盘的盘件如图 11 所示

对于由珠子构成的零件,可以放到盘件的任一位置,条件是能有地方放,且 尺寸合适,所有的零件都允许旋转 (00^{\circ}9090^{\circ}180180^{\circ}270270^{\circ}) 和翻转 (水平、竖直)。

现给出一个盘件的初始布局,求一种可行的智慧珠摆放方案,使所有的零件 都能放进盘件中。

输入格式

输入中包含初始的盘件描述,一共有 1010 行,第 ii 行有 ii 个字符。

如果第 ii 行的第 jj 个字符是字母 AL 中的一个,则表示第 ii 行第 jj 列的格子上已经放了零件,零件的编号为对应的字母。

如果第 ii 行的第 jj 个字符是 .,则表示第 ii 行第 jj 列的格子上没有放零件。输入保证预放的零件已摆放在盘件中。

输出格式

如果能找到解,向打印 1010 行,为放完全部 1212 个零件后的布局。其中,第 ii 行应包含 ii 个字符,第 ii 行的第 jj 个字符表示第 ii 行第 jj 列的格子上放的是哪个零件。如果无解,输出单独的一个字符串 No solution 。所有的数据保证最多只有一组解。

.
..
...
....
.....
.....C
...CCC.
EEEHH...
E.HHH....
E.........
B
BK
BKK
BJKK
JJJDD
GJGDDC
GGGCCCI
EEEHHIIA
ELHHHIAAF
ELLLLIFFFF

题目来源

NOI2005