一个小程序
马踏棋盘
设计一个国际象棋的马踏遍棋盘的演示程序。
将马随机放在国际象棋的8*8棋盘Board[8][8]的某个方格中,马按走棋规则进行移动。要求每个方格只进入一次,走遍棋盘上全部64个方格。编制非递归程序,求出马的行走路线,并按求出的行走线路,将数字1,2,……,64依次填入一个8*8的方阵,输出之。
一般来说,当马位于位置(i,j)时,可以走到下列8个位置之一(i-2,j+i),(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-2,j-1)。但是,如果(i,j)靠近棋盘的边缘,上述有些位置可能超出棋盘范围,成为不允许的位置。
问题点数:0、回复次数:2Top
1 楼yulongcn(run)回复于 2003-09-03 22:40:18 得分 0
可以说说你的想法,对这个程序的构思Top
2 楼ezhou(煮花生)回复于 2003-09-03 22:56:49 得分 0
俺的一点想法:
做一个树,每个节点的可以移动到的其它节点为该节点的儿子,从根节点出发,左遍历,不行回退一,从旁边的兄弟继续。如果各兄弟都不行,再退。
Top



