智慧珠游戏拼盘由一个三角形盘件和12 个形态各异的零件组成。拼盘的盘
件如图1所示:
〇
〇〇
〇〇〇
〇〇〇〇
〇〇〇〇〇
〇〇〇〇〇〇
〇〇〇〇〇〇〇
〇〇〇〇〇〇〇〇
〇〇〇〇〇〇〇〇〇
〇〇〇〇〇〇〇〇〇〇
图 1
12个零件按珠子数分3大类:
第1大类,有三个珠子,只有一种形状。
符号为A,形状为
〇〇
〇
第2大类,有4个珠子,有3种形状。
符号为B,形状为
〇〇〇〇符号为C,形状为
〇〇〇
〇
符号为D,形状为
〇〇
〇〇
第3大类,有5个珠子,有8种形状。
符号为E,形状为
〇
〇
〇〇〇
符号为F,形状为
〇〇〇〇
〇
符号为G,形状为
〇〇〇
〇 〇
符号为H,形状为
〇〇〇
〇〇
符号为I,形状为
〇〇〇
〇〇
符号为J,形状为
〇
〇〇〇
〇
符号为K,形状为
〇
〇〇
〇〇
符号为L,形状为
〇〇〇〇
〇
图 2 示出了一种拼盘方案。为便于描述可将图2 抽象为图3,就可以用一个
数据为字符的二维数组来表示了。
B
B K
B K K
B J K K
J J J D D
G J G D D C
G G G C C C I
E E E H H I I A
E L H H H I A A F
E L L L L I F F F F
图3
对于由珠子构成的零件,可以放到盘件的任一位置,条件是能有地方放,且
尺寸合适,所有的零件都允许旋转(0º、90º、180º、270º)和翻转(水平、竖直)。
现给出一个盘件的初始布局,求一种可行的智慧珠摆放方案,使所有的零件
都能放进盘件中。
文件中包含初始的盘件描述,一共有10 行,第i 行有i 个字符。如果第i 行
的第j 个字符是字母”A”至”L”中的一个,则表示第i 行第j 列的格子上已经放了
零件,零件的编号为对应的字母。如果第i 行的第j 个字符是”.”,则表示第i 行
第j列的格子上没有放零件。
输入保证预放的零件已摆放在盘件中。
如果能找到解,向输出文件打印10行,为放完全部12个零件后的布局。其
中,第i行应包含i个字符,第i行的第j个字符表示第i行第j列的格子上放的
是哪个零件。
如果无解,输出单独的一个字符串‘No solution’(不要引号,请注意大小写)。
所有的数据保证最多只有一组解。
. .. ... .... ..... .....C ...CCC. EEEHH... E.HHH.... E.........
B BK BKK BJKK JJJDD GJGDDC GGGCCCI EEEHHIIA ELHHHIAAF ELLLLIFFFF
感谢morris1028提供图片。
有些未删掉的多余信息,是为了让看不到图的人也能做。
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|