Preparing NOJ

n色方柱问题

1000ms 65536K

Description:

设有n个立方体,每个立方体的每一面用红、黄、蓝、绿等n种颜色之一染色。要把这n个立方体叠成一个方形柱体,使得柱体的4个侧面的每一侧均有n种不同的颜色。试设计一个回溯算法,计算出n个立方体的一种满足要求的叠置方案。

对于给定的n个立方体以及每个立方体各面的颜色,计算出n个立方体的一种叠置方案,使得柱体的4 个侧面的每一侧均有n种不同的颜色。

Input:


第一行有1 个正整数n0<n<27,表示给定的立方体个数和颜色数均为n。第2 行是n个大写英文字母组成的字符串。该字符串的第k0k<n)个字符代表第k种颜色。接下来的n 行中,每行有6个数,表示立方体各面的颜色。立方体各面的编号如下图所示。

图中F 表示前面,B 表示背面,L 表示左面,R 表示右面,T 表示顶面,D 表示底面。相应地,2 表示前面,3表示背面,0 表示左面,1表示右面,5 表示顶面,4表示底面。例如,在示例输出文件中,第3 行的6 个数0 2 1 3 0 0 分别表示第1 个立方体的左面的颜色为R, 右面的颜色为B, 前面的颜色为G, 背面的颜色为Y, 底面的颜色为R, 顶面的颜色为R

Output:

每行6 个字符,表示立方体各面的颜色。如果不存在所要求的叠置方案,输出“No solution!”。

Sample Input:

4
RGBY
0 2 1 3 0 0
3 0 2 1 0 1
2 1 0 2 1 3
1 3 3 0 2 2

Sample Output:

RBGYRR
YRBGRG
BGRBGY
GYYRBB

Note:

undefined

本题由旧版NOJ导入,来源:算法设计与实验题解

Info

NOJ

Provider NOJ

Code NOJ1282

Tags

Submitted 15

Passed 6

AC Rate 40%

Date 04/20/2019 10:03:10

Related

Nothing Yet