WEB开发网
开发学院软件开发VC 马走日棋盘算法 阅读

马走日棋盘算法

 2010-01-23 20:32:21 来源:WEB开发网   
核心提示:限制条件:1. 1 <= x’ <= n , 1 <= y’ <= m; ( n : 棋盘的高度 , m: 棋盘的宽度 );2. ( x’ , y’ ) 必须是棋子记录表中没有包括的新位置;3. 棋子走子过程记录表中没有包括棋盘上的所有可以落子的位

限制条件:

1. 1 <= x’ <= n , 1 <= y’ <= m; ( n : 棋盘的高度 , m: 棋盘的宽度 );

2. ( x’ , y’ ) 必须是棋子记录表中没有包括的新位置;

3. 棋子走子过程记录表中没有包括棋盘上的所有可以落子的位置;

对这个过程不停迭代的过程也就是对解空间搜索的过程, 搜索直到棋子走子记录表中包括棋盘上的所有可以落子的位置 , 就搜索到了一条可行的路径,路径包括棋盘上的所有落子点;或者搜索完整个解空间,仍然找不到一条可行的解,则搜索失败;

下面我们举例来说明搜索的过程;

棋盘大小 : 5 * 5

棋子起始位置 : ( 3 , 3 )

搜索过程 :

(1) 从当前位置( 3 , 3 )出发可以有8个新的位置选择; 首先选择新位置1 , 将新位置1

作为当前棋子位置 , 开始新的搜索;

如果搜索不成功, 则搜索回退, 选择新位置2 ,以此类推,就可以搜索完整个解空间,只要从该问题有解 , 则可以保证一定可以搜索到;

上一页  1 2 3 4 5 6 7  下一页

Tags:马走日 棋盘 算法

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接