关于魔方的解决

houqidian 2009-12-17 06:53:52
有谁能够 写出解决魔方的算法
...全文
117 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
daidodo 2009-12-18
  • 打赏
  • 举报
回复
mark
hero779 2009-12-18
  • 打赏
  • 举报
回复
网上一大堆,找找看看吧,这里有一个最简单魔方的代码,就是行列数最大是15且只能是奇数:
#include <stdio.h>
#include <stdlib.h>
#define MAX 15
void main(){
int row,col,count,i,j,size,quare[MAX][MAX];
printf("Please input the size:\n");
scanf("%d",&size);
if(size<1 || size>MAX){
printf("size is too big,error!");
exit(1);
}
if(!(size%2)){
printf("size不能为偶数!");
exit(1);
}
for(i=0;i<size;i++)
for(j=0;j<size;j++)
quare[i][j]=0;
quare[0][(size-1)/2]=1;
i=0;
j=(size-1)/2;
for(count=2;count<=size*size;count++){
row=(i-1<0)?(size-1):(i-1);
col=(j-1<0)?(size-1):(j-1);
if(quare[row][col])
i=(++i) % size;
else{
i=row;
j=col;

}
quare[i][j]=count;
}
for(i=0;i<size;i++){
for(j=0;j<size;j++)
printf("%d ",quare[i][j]);
printf("\n");
}
}
z569362161 2009-12-18
  • 打赏
  • 举报
回复
去找源码看
赵4老师 2009-12-18
  • 打赏
  • 举报
回复
写出解法网上有源码(搜RubiksCube),但写出最优解恐怕是世界级难题。好象几年前说任何状态最多用27步,后来又发展到26步了。
johnxguo 2009-12-18
  • 打赏
  • 举报
回复
我尝试过,那段时间都快疯了,最后还是放弃了
南气子水 2009-12-18
  • 打赏
  • 举报
回复
7楼的说的应该不是楼主所说的魔方
kouwenlong 2009-12-17
  • 打赏
  • 举报
回复
一堆一堆的。
mstlq 2009-12-17
  • 打赏
  • 举报
回复
http://kociemba.org/cube.htm

请仔细找找,有c源码……
wuyu637 2009-12-17
  • 打赏
  • 举报
回复
http://download.csdn.net/source/1291422

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧