43亿个排列
我们可以按如下方式将Rubik's Cube表示为网络(求解时): WWW WWW WWW GGGRRRBBBOOO GGGRRRBBBOOO GGGRRRBBBOOO YYY YYY YYY 每个字母代表相应的颜色(W白色,G绿色等) 它已被证明有恰好43 ,252 ,003 ,274,489 ,856 ,00043,252,003,274,489,856,00043,252,003,274,489,856,000(〜434343百万的三次方)不同的排列,一个魔方可以英寸 你的任务是把一个整数之间1个1个1和43 ,252 ,003 ,274,489 ,856 ,00043,252,003,274,489,856,00043,252,003,274,489,856,000和输出对应的置换,在上述所示的方式。您可以选择排列的顺序,但是必须显示您使用的算法为每个可能的输入生成唯一且正确的排列。 无效的排列规则 取自此页面 首先,每个3x3面的中心必须保持相同,因为魔方立方体上的中心正方形无法旋转。可以旋转整个多维数据集,更改面的显示位置,但这不会影响多维数据集的网格。 如果我们说每个置换都有一个奇偶校验,那么根据达到该置换的交换次数的奇偶校验,我们可以说 每个角件都有三个可能的方向。可以正确地设置其方向(0),顺时针(1)或逆时针(2)。拐角方向的总和始终保持为3的整数倍 魔方上的每次合法旋转都总是翻转偶数个边,因此不会只有一个方向错误。 考虑到所有拐角和边缘的排列,整体奇偶校验必须为偶数,这意味着每个合法举动始终执行相等数量的互换(忽略方向) 例如,以下三个网是无效的输出: WWW WWW WWW GGGWWWBBBOOO GGGRRRBBBOOO GGGRRRBBBOOO YYY YYY YYY (Too many whites/not enough reds) WRW WRW WRW GGGRWRBBBOOO …