设有 n 个立方体,每个立方体的每一面用红、黄、蓝、绿等 n 种颜色之一染色。要把这n 个立方体叠成一个方形柱体,使得柱体的 4 个侧面的每一侧均有 n 种不同的颜色。试设计一个回溯算法,计算出 n 个立方体的一种满足要求的叠置方案。
«算法设计:
对于给定的 n个立方体以及每个立方体各面的颜色, 计算出 n个立方体的一种叠置方案,使得柱体的 4 个侧面的每一侧均有 n 种不同的颜色。
Time Limit | $1$ 秒/Second(s) | Memory Limit | $512$ 兆字节/Megabyte(s) |
提交总数 | $10$ | 正确数量 | $0$ | "
裁判形式 | 标准裁判/Standard Judge | 我的状态 | 尚未尝试 |
难度 | 分类标签 | 回溯 |
输入第一行有 1 个正整数 n,0<n<27,表示给定的立方体个数和颜色数均为 n。第 2 行是 n 个大写英文字母组成的字符串。该字符串的第 k(0≤k<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。
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
RBGYRR
YRBGRG
BGRBGY
GYYRBB
本题记录 | 用 户(点击查看用户) | 运行号(点击购买题解) | 时 间 |
---|---|---|---|
算法最快[$ $ms] | |||
内存最少[$ $KB] | |||
第一AC | |||
第一挑战 | hanlei | 448626 | 2019-07-22 15:39:16 |
竞赛编号 | 竞赛名称 | 竞赛时间 | 访问比赛 |
---|