回 帖 发 新 帖 刷新版面

主题:马踏棋盘

综合实验八  马踏棋盘
一、    实验目的:
(1)    熟练掌握栈的基本操作及应用。
(2)    利用栈的基本操作,编制实现一个国际象棋的马踏遍棋盘的非递归演示程序。
二、实验内容:
【问题描述】
设计一个国际象棋的马踏遍棋盘的演示程序。
【基本要求】
将马随机放在国际象棋的88棋盘Board88的某个方格中,马按走棋规则进行移动。要求每个方格只进入一次,走遍棋盘上全部64个方格。编制非递归程序,求出马的行走路线,并按求出的行走路线,将数字1,2,…,64依次填入一个88的阵,输出之。
【测试数据】
由读者指定。可自行指定一个马的初始位置
【实现提示】
下页图显示了马位于方格(2,3)时,8个可能的移动位置。
一般来说,当马位于位置(i,j)时,可以走到下列8个位置之一
(I-2, j+1),(I-1,j+2),(I+1,j+2),(I+2,j+1),(I+2,j-1),(I+1,j-2),(I-1,j-2),(I-2j+1)
但是,如果(i,j)靠近棋盘的边缘,上述有些位置可能超出棋盘范围,成为不允许的位置。8个可能位置可以用两个一维数组Htry[10..7]和Htry[20..7]来表示。
位于(I,j)的马可以走到的新位置是在棋盘范围内的(I+Htry1[h],j+Htry2[h]),其中h=0,1,…,7。
每次在多个可走位置中选择其中一个进行试控,其余未曾试过的可走位置必须用适当结构妥善管理,以备试探失败时的“回溯”(悔棋)使用。
【选作内容】
(1)    求出从某一起点出发的多条以至全部行走路线。
(2)    探讨每次选择位置的“最佳策略”,以减少回溯的次数。
(3)    演示寻找行走路线的回溯过程。
[b]以上为题目要求,请各位高手帮忙..急用..发到我的邮箱:wokaosunny@163.com.在下感激不尽..拜托大家了.![/b]

回复列表 (共9个回复)

沙发


还发你邮箱。。??

要的话就到我签名内的网址找找吧,我前阵子刚写的。

PS:如发现什么问题,麻烦告之。
--------别妄了给分,呵呵

板凳

1楼的帖子我不是全看懂了。。请各位大侠多帮帮忙啊!在下急用!谢谢。。。

3 楼

我以前编过,用递归最简单.
不过好象走遍标准的8X8棋盘的问题是现在的电脑无法解决的.

4 楼

我要啊,,,,给我.QQ:82585638
谢谢了~!!!

5 楼

我很急啊.我也要.........QQ:330312611

6 楼

要求非递归啊!!!

7 楼

我也要!
邮箱是ikki.r@163.com

8 楼

发飚了
老是走不到64格
5555555555555555555555555
等下把偶算法发上来

9 楼


我们最近再研究算法,你去我们团队的blog看看吧,我不确定有,因为是几个人在写
blog.csdn.net/spritsq
[url]http://blog.csdn.net/spritsq[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册