#P1224. PICTURE PUZZLE
PICTURE PUZZLE
本题没有可用的提交语言。
描述
一种图片拼图由九个方块组成,每个方块的每一边都包含一个图片的一半。每个方块上的图片分别是四个指定的图片的左半部分或右半部分,分别用字母 B、C、K 和 P 表示。在每个方块的边缘,图片的左右半部分是对齐的。如果一块方块的左半部分与另一块方块的右半部分相对齐,拼接时两张图片就会匹配。拼图的目的是将这九块方块放入一个三行三列的网格中,使得相邻边上的图片能够匹配。需要注意的是,某些方块可能需要旋转才能匹配。

输入
输入由一系列问题组成。每个问题以问题编号开始,单独占一行。数据的结束由问题编号为 0 来表示。在问题编号后,将有九行描述方块的信息。每一行的格式为:方块编号(1 至 9),然后是方块的顶部、右侧、底部和左侧的图片,按顺序以空格分隔。图片的左半部分为 BL、CL、KL、PL,右半部分为 BR、CR、KR、PR。BL 匹配 BR,CL 匹配 CR,KL 匹配 KR,PL 匹配 PR。(例如,BL 是图片 B 的左半部分,BR 是图片 B 的右半部分)
输出
每个问题的输出应为:以问题编号和冒号(':')开头的行。如果该问题没有解,则输出下一行:“No Solution”。如果有解,应该按照以下格式显示解法:
由于任何解法可能旋转 90、180 或 270 度来得到其他解,因此中间的方块应按照输入时给出的方向对齐,其他方块根据需要进行旋转。每行方块由三行显示,每行之间有空行。单个方块的格式为:
<3个空格><2个字符顶部图片><3个空格>
<2个字符左侧图片><空格><1个数字方块编号><空格><2个字符右侧图片><空格>
<3个空格><2个字符底部图片><3个空格>
每个问题的输出后面应跟一个空行。
1
1 BR KR PL CR
2 CL PR BL KR
3 KR PR CR BL
4 PL KR BL CL
5 PL BR CL KR
6 PR CL BR PL
7 CR KL BL PR
8 BL CR KL PL
9 KL CL PR BL
2
1 PR PR BL CR
2 BR KL CR PR
3 CR BL PL KR
4 KL PL BL CL
5 BR CR PL KR
6 KL BR PL CR
7 CL PL BL KR
8 KR KL CR BL
9 CR KL PR BL
3
1 PL KL CL BR
2 PL CR KL BL
3 PR BR CL KR
4 CR PL BR KR
5 PR CL BR KR
6 BL KL CR PR
7 PL BL CL KR
8 PR CR KL BR
9 KL BL CL PL
0
1:
CL KR KL
PR 6 BR BL 2 CL CR 7 BL
PL PR PR
PR PL PL
KR 3 CR CL 4 KR KL 8 BL
BL BL CR
BR BR CL
PL 5 CL CR 1 KR KL 9 PR
KR PL BL
2:
No Solution
3:
KL BR BL
BL 6 CR CL 5 KR KL 9 CL
PR PR PL
PL PL PR
KR 7 BL BR 1 KL KR 3 BR
CL CL CL
CR CR CR
PL 2 KL KR 4 PL PR 8 KL
BL BR BR
提示
注意,此题对格式要求非常严格,格式错误将会算作错误答案。
来源
Greater New York 2002