有一个名为“快乐立方问题”的5*5魔方谜题,需要根据给定的图案组成一个立方体。
http://www.mathematische-basteleien.de/cube_its.htm#top
就像这样,有6个蓝色的图案:
需要从这些图案中组合出一个立方体:
这样还有3种解决方案。对于这种问题,我能想到的最简单的方法是基于递归的,对于每个立方体,我有6个位置,对于每个位置,我将尝试检查所有其他图案,并递归地解决相同的问题。就像找到每个立方体的所有排列,然后找到最佳匹配的一样。所以这是动态规划的方法。
但是我在递归中犯了很多错误,所以是否有更好的简单方法来解决这个问题?
我将每个图案或图表制成矩阵,然后将它们顺时针旋转90度4次和逆时针旋转4次。我翻转数组并重复相同步骤以处理其他立方体,所以再次使用递归。
但是我在递归中犯了很多错误,所以是否有更好的简单方法来解决这个问题?
我将每个图案或图表制成矩阵,然后将它们顺时针旋转90度4次和逆时针旋转4次。我翻转数组并重复相同步骤以处理其他立方体,所以再次使用递归。
0 0 1 0 1
1 1 1 1 1
0 1 1 1 0
1 1 1 1 1
0 1 0 1 1
-------------
0 1 0 1 0
1 1 1 1 0
0 1 1 1 1
1 1 1 1 0
1 1 0 1 1
-------------
1 1 0 1 1
0 1 1 1 1
1 1 1 1 0
0 1 1 1 1
0 1 0 1 0
-------------
1 0 1 0 0
1 1 1 1 1
0 1 1 1 0
1 1 1 1 1
1 1 0 1 0
-------------
1st - block is the Diagram
2nd - rotate clock wise
3rd - rotate anti clockwise
4th - flip
仍然在努力整理逻辑。