[求算法]如何判断一个三阶魔方状态是否合法
c语言吧
全部回复
仅看楼主
level 1
swgr 楼主
所谓合法,就是可以从已经复原的魔方开始,经过常规旋转得到的状态。
例如,如果一个棱块两边分别是白和黄,则不可能是个正常的魔方...
程序的输入可以是六个面的颜色分布,例如其中的一个面:
Y W Y
B O O
W R G
其中,W、Y、R、O、G、B分别代表白、黄、红、橙、绿、蓝。
纯搜貌似是不行的,状态太多了...
2009年12月21日 04点12分 1
level 0
包含正确的20个角快棱快,注意角快三种颜色的顺序也要正确。
定义一对高级色,中级色,低级色。
判断角快,棱坎色相是否正确。
奇偶性检验,可以参考盲拧。
2009年12月21日 05点12分 2
level 1
swgr 楼主
回复:2楼
我想过..哎,可惜不会盲拧,对独立调整棱块和角块的变换不熟。
我初步想法是按照复原公式来模拟,到哪步发现卡住了,就挂掉...
不过这样编程量有点大
2009年12月21日 06点12分 3
level 6
递归?
2009年12月21日 06点12分 4
level 6
你们研究的东西太高深了
2009年12月21日 06点12分 5
level 9
按照公式做还是比较简单的吧~~
2009年12月21日 09点12分 6
1