跳马与回溯.doc
跳马与回溯
东风一中信息技术组 刘丽梅
中国象棋半张棋盘如下,马自左下角往右上角跳。今规定只许往右跳,不许往左跳,如图跳行线路。编程计算共有多少种跳行路线,并将所经路线打印出来。
打印格式:
0,0--1,2--2,4--4,3--5,1--6,3--8,4
马可能的跳步方向有四个,分别称方向1,方向2,方向3,方向4,用变量J来标注。
跳步方向 J 1 ,2 ,3 , 4
水平增量 DX(J) 1 ,2 ,2 , 1
垂直增量 DY(J) 2 ,1 ,-1 ,-2
定义数组X(10)用于记录马在棋盘中的水平方向上的位置,数组Y(10)记录垂直方向上的位置。数组A(10)记录在寻找马跳步方向时已查过的方向号,这样做是为了在回溯时避免重复查找。有关回溯的含意将在下面结合跳步举例加以说明。
令变量I来计马在棋盘上跳过的步数,同时也起堆栈指针的作用。
用变量X,Y来表示马在棋盘是要跳到的位置。在算第I步时,要以第I-1步的位置作为基点,考虑到跳步方向J不同,增量不同,可写出如下计算马跳后位置的公式:
X=X(I-1)+DX(J)
Y=Y(I-1)+DY(J)
按照这
您可能关注的文档
最近下载
- 现代电器控制与PLC应用技术第2章课后答案解析王永华.pdf VIP
- 骨科主治述职报告.pptx
- 现代文非连续性文本阅读真题答案与解析之00027 睡眠与健康.pdf VIP
- 2026 年中考政治三模仿真模拟试卷(附答案可下载).docx VIP
- 2026年沧源佤族自治县国有资本投资运营集团有限责任公司公开招聘备考题库及答案详解1套.docx VIP
- 化工和危险化学品生产经营企业重大生产安全事故隐患排查表(依据AQ 3067-2026).docx VIP
- OGSM战略规划框架:实现企业目标的系统化方法论.pptx VIP
- 2026 年中考历史三模仿真模拟试卷(附答案可下载).docx VIP
- 化工危险化学品企业变更管理参考指南(试行).docx
- 《医务人员着装规范(2025版)》.docx VIP
原创力文档

文档评论(0)