JZOJ1203. 染色的立方体(2017.8B组)

来源:互联网 发布:淘宝印度大麻种子 编辑:程序博客网 时间:2024/06/06 01:20

Description

小胖最近迷上了3D物体,尤其是立方体。他手里有很多个立方体,他想让所有的立方体全都长得一样,所以他决定给某些立方体的表面重涂颜色,使得所有的立方体完全相同。但是小胖是很懒的,他想知道最少涂多少次颜色,可以让所有立方体完全相同。

Input

输入包含多组数据,每组数据第一行n(1<=n<=4),表示立方体的数量,接下来n行,每行6个字符串,表示立方体6个面的颜色:Color 1 Color 2 Color 3 Color 4 Color 5 Color 6,中间用一个空格隔开。
其中,面的标号如下:
这里写图片描述
n=0表示输入结束。
两个立方体被视为相同,当且仅当他们可以在某种摆放方式下,每个面的颜色都对应相同。
一种涂色的方案如下:n=0表示输入结束。
这里写图片描述
想法:
贪心+递归
先预处理出一个骰子通过位置变化可行的方案数(24种)
然后对2~n个骰子的位置进行递归
然后对于每个面,求出这n个骰子中每个面颜色出现次数最多的颜色,每次就把那个颜色定义为这n个立方体这一面的颜色,