首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

骑士走棋盘,该如何处理

2013-08-14 
骑士走棋盘结果是这样的。。如何修改啊。。。[解决办法]这个在数据结构里有,迷宫的问题是采用栈的方式来解决的,

骑士走棋盘


结果是这样的。。如何修改啊。。。


[解决办法]
这个在数据结构里有,迷宫的问题是采用栈的方式来解决的,我记得好像是这样,你的代码我没有细看,你确定你求出来的路径是对的?如果路径是对的,只是打印问题的话,你不如新建一个数组,只存储正确路径然后打印出来即可,正确的路径应该是不会走到死胡同里去的,如果当前路径不通,就把它从数组中剔除,你这个感觉是走的每一步都打印了出来。如果路径也没有求对,你可以去参考数据结构教材里关于栈的例子,简单地说就是小人先是每次都朝着一个固定的方向行走,如果遇到了障碍物就换一个方向行走,直到新的方向可通为止,如果除了来时的方向外其他三个方向都不通,那就是死胡同,就沿原路返回到上一个有多个出口的点,采用栈的结构,最后在栈中得到的就是一条完整的可行路线,显示它就行了。
这个方法我试过,以前还做过一个迷宫游戏,迷宫采用随机算法生成,只是随机算法有问题,迷宫规模一大,半天都生成不了一个迷宫,这个到现在都还不知道怎么解决。
我知道的就这么多了,希望能够帮到你。
[解决办法]
这样是不行的,用广度优先搜索记录路径,然后按路径打印

热点排行