• 大小: 0.01M
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-03-28
  • 语言: 其他
  • 标签: 其他  

资源简介


用C++写的解魔方的算法,300行以内。详细注释,配合我的博客使用。

资源截图

代码片段和文件信息

#include “sovle.h“


int applicableMoves[] = { 0 262143/*18个1*/ 259263/*111111010010111111*/ 74943/*10010010010111111*/ 74898/*10010010010010010*/ };

// TODO: Encode as strings e.g. for U use “ABCDABCD“

int affectedCubies[][8] = { //对每一个块编码,前四位棱块,后四位角块(顶层右下角开始0.1.2.3,底层右下角开始4.5.6.7),相同块数字相同。
{ 0  1  2  3  0  1  2  3 }   // U
{ 4  7  6  5  4  5  6  7 }   // D
{ 0  9  4  8  0  3  5  4 }   // F
{ 2 10  6 11  2  1  7  6 }   // B
{ 3 11  7  9  3  2  6  5 }   // L
{ 1  8  5 10  1  0  4  7 }   // R
};

/********************************************************************************
*对state状态进行旋转(顺时针90°180°270°),返回旋转后的状态
*
*move=0时,U面顺时针旋转90°move=1时,U面顺时针旋转180°move=2时,U面顺时针旋转270°
*move=3时,D面顺时针旋转90°move=4时,D面顺时针旋转180°move=5时,D面顺时针旋转270°
*move=6时,F面顺时针旋转90°move=7时,F面顺时针旋转180°move=8时,F面顺时针旋转270°
*move=9时,B面顺时针旋转90°move=10时,B面顺时针旋转180°move=11时,B面顺时针旋转270°
*move=12时,L面顺时针旋转90°move=13时,L面顺时针旋转180°move=14时,L面顺时

评论

共有 条评论