reko3 发表于 2013-8-26 17:38:18

小甲鱼数据结构第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;}

牡丹花下死做鬼 发表于 2013-8-26 17:52:04

小鱼儿?????
抱歉没听说过

reko3 发表于 2013-8-26 17:56:02

小甲鱼:sweat:

轻云流风 发表于 2013-9-18 09:51:34

楼主,能不能给一下算法详细注释,你这个代码有点难懂

icecool 发表于 2013-9-23 15:01:57


顶一下,哈哈

kakadeyisheng 发表于 2014-7-7 21:18:08

写的挺不错的
页: [1]
查看完整版本: 小甲鱼数据结构第60讲程序改进