




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、跳马问题 跳马问题也称骑士遍历问题:在n*n方格的棋盘上,从任意指定的方格出发,为象棋中的马寻找一条走遍棋盘每一格并且只经过一次的一条路径。 1;.问题分析如下图所示,一只马在棋盘的某一点,它可以朝8个方向前进,方向向量分别是: (-2,1)、 (-1,2) (1,2)、 (2,1)、(2,-1) 、(1,-2)、 (-1,-2)、(-2,-1)。2;. 从中任选择一个方向前进,到达新的位置。在从新的位置选择一个方向前进,继续,直到无法前进为止。无法前进可能有如下原因:下一位置超出边界、下一位置已经被访问过。当马已经无法前进时,就回退到上一位置,从新选择一个新的方向前进;如果还是无法前进,就再
2、回退到上一位置,以此类推。3;.经分析,本问题可以运用回溯法的思想求解:1.该问题的解空间的组织形式是一颗八叉树,一个可行的解就是从根节点到叶子节点的一条路径。2.控制策略则是马必须在棋盘内。4;.代码v#includev#include v#include vconst int n=6; / 表示棋盘的长和高nvint qipann+1n+1; / 记录棋盘是否被跳过vstatic int cmq; / 步数vint OK=0; / 没有被使用vint xLabel,yLabel;vvoid shuchu()vv coutt;v for(int i1=1;i1=n;i1+)v couti1列
3、t;v for(int i=1;i=n;i+)v v coutendl;v couti行t;v for(int j=1;j=n;j+)v v coutqipanijt;v v coutendl;v v 5;.vint tiaoma(int x,int y)vvif(cmq =n*n & (x-2=xLabel & y+1 = yLabel) |(x-1=xLabel & y+2 = yLabel) |(x+1=xLabel & y+2= yLabel) | (x+2 = xLabel & y+1 = yLabel) |(x+2 = xLabel &
4、; y-1 = yLabel) |(x+1= xLabel & y-2=yLabel) |(x-2=xLabel & y-1=yLabel) |(x-1=xLabel & y-2=yLabel)vv shuchu();v OK=1;v return 0;vv v if(1 = x-2 & y+1 = n & qipanx-2y+1 = 0)v v qipanx-2y+1=+cmq; / 1v tiaoma(x-2,y+1);v v if(1=x-1&y+2=n&qipanx-1y+2=0)v v qipanx-1y+2=+cmq; / 2
5、v tiaoma(x-1,y+2);v v if(x+1=n&y+2=n&qipanx+1y+2=0)v v qipanx+1y+2=+cmq; / 3v tiaoma(x+1,y+2);v v if(x+2=n&y+1=n&qipanx+2y+1=0)v v qipanx+2y+1=+cmq; / 4v tiaoma(x+2,y+1);v v 6;.vif(x+2=n&1=y-1&qipanx+2y-1=0)v v qipanx+2y-1=+cmq; / 5v v tiaoma(x+2,y-1);v v if(x+1=n&1=y-2&a
6、mp;qipanx+1y-2=0)v v qipanx+1y-2=+cmq; / 6v tiaoma(x+1,y-2);v v if(1=x-1&1=y-2&qipanx-1y-2=0)v v qipanx-1y-2=+cmq; / 7v tiaoma(x-1,y-2);v v if(1=x-2&1=y-1&qipanx-2y-1=0)v v qipanx-2y-1=+cmq; / 8v tiaoma(x-2,y-1);v v v cmq -;v qipanxy = 0; / 回朔vreturn 0;v7;.vint main()vv for(int i=1;i=n;i+)v for(int j=1;j=n;j+)v qipanij=0;v v for(i=1;i=n;i+) /该处分别计算从点(1,1)到点(n,n)作为起始点,可以找到哪些回路v for(int j=1;j=n;j+)v v xLabel= i;v yLabel = j;v cmq = 1;v for(int k1=1;k1=n;k1+)v for(int k2=1;k2=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 赔偿安葬协议书
- 机动车转让过户协议书
- 稻田调解协议书
- 苏州电子协议书
- 股份变卖协议书
- 芯片合资协议书
- 美团电子协议书
- 开发商房屋拆迁协议书
- 男方抚养协议书
- 药店清场协议书
- 2025年农村个人果园承包合同
- 湖北省武汉市2025届高三年级五月模拟训练试题数学试题及答案(武汉五调)
- 医师挂证免责协议书
- 济南民政离婚协议书
- DL∕T 5210.6-2019 电力建设施工质量验收规程 第6部分:调整试验
- GB/T 34560.1-2017结构钢第1部分:热轧产品一般交货技术条件
- GB/T 29318-2012电动汽车非车载充电机电能计量
- VSTi音源插件列表
- 安全文明施工措施费清单五篇
- 医院感染暴发报告处理流程图
- 中等职业学校学生实习鉴定表
评论
0/150
提交评论