用计算机编程解魔方,魔方程序 (详细的解释)

f this phase

for( i=0; icout/cout

}

没专业学过c++,计算机程序知识,可能有些说法不精确,不适宜,但应该佷直白。另外程序佷巧妙,足可见算法之妙,且程序佷简洁,见Jaap Scherphuis功力深厚。我一开始,也想写个用Thistlethwaite's algorithm魔方程序,但见了他的,我打算解释他的程序,供大家参考。再次申明,佩服之至。感谢Jaap Scherphuis。大家也享受吧。

所有资料包括介绍Thistlethwaite的方法,我存储在http://www.doczj.com/doc/35769b87a0116c175f0e48b3.html/share/link?shareid=405906&uk=1898872422

旋转函数

UF DF UB DB UR DR UL DL FR FL BR BL UFR UBL DFL DBR DLB DRF URB ULF

0A 1B 2C 3D 4E 5F 6G 7H 8I 9J 10K 11L 12M 13N 140 15P 16Q 17R 18S 19T

这是位置编排方式

POS【20】 各个位置所含的方块

ori【20】 各个位置所含方块的朝向

val【20】 各个位置所含方块朝向总数 角3 棱2

*perm="AIBJTMROCLDKSNQPEKFIMSPRGJHLNTOQAGCEMTNSBFDHORPQ" 以八个为一组分别代表FBRLUD面 以此来为旋转面上各位置的方向、所含块提供准确变化方式

void domove(int m){ m从0到5 分别代表fbrlud面的旋转 顺时针

char *p&#

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值