小甲鱼数据结构第60讲程序改进
本帖最后由 reko3 于 2013-8-26 17:57 编辑来论坛有一段时间了,学到了很多东西,一直想为论坛做些什么,最近在学小甲鱼数据结构视频,看到第60讲马踏棋盘算法的时候,觉得那个代码写得有点复杂了,联想到之前有一个摆皇后的算法,其实两个问题解的思路基本是差不多的,于是照那个算法的思路重写了下,运行结果跟小甲鱼那个算法一样,但是简单很多,也好理解,我还是初学者,不知道写得对不对,有什么不对的,欢迎指正
int TravelChessBoard(int x,int y,int tag){ int x1,y1; int count=0; x1=x; y1=y; chess=tag; if(tag==X*Y) { print(); return 1; }//检查8种不同可能 for(count=0;count<8;count++) { if(nextxy(&x1,&y1,count)) { //找到其中一种,进行下一次递归 if(TravelChessBoard(x1,y1,tag+1)) return 1; } else { continue; } x1=x; y1=y; } //超过8次,回到上1步再继续探索 if(count>=8) { chess=0; }return 0;}
小鱼儿?????
抱歉没听说过 小甲鱼:sweat: 楼主,能不能给一下算法详细注释,你这个代码有点难懂
顶一下,哈哈 写的挺不错的
页:
[1]