回 帖 发 新 帖 刷新版面

主题:老问题!算是骑士游历吧!不过有一点不一样!abcwuhang,Matodied又要你们帮忙了!^-^

[size=4]有一个[color=ff0000]n*n[/color]的矩阵,要求某人从任意一点出发,按照中国象棋"马"的走法将所有的格子不重复地遍厉一遍,[color=FF0000]最后回到起点[/color].请设计一条路线.
输入:n(1<=n<=50)
输出:n*n的矩阵,格子中的数字代表到达该格子的步数.[/size]
 [color=00FF00][size=5] 思路+算法+注释=谢谢!!![/size][/color]
  
[color=0000FF][size=5]刚学到这里,希望大家支持![/size][/color]

回复列表 (共3个回复)

沙发

怎么又是这个?

从(p,q)开始,依次寻找8个走“日”字的路线是否可走(目标位置未走过并且在棋盘内),若可走,记上这步,往下走。若8个路线都不可走,退回上一步。从上一步的路线的下一个路线开始搜寻。直到步数等于总格子数为止。

其中(p,q)是开始点。

板凳

我才刚学回溯,所以请你详细讲解以下啦!谢谢!

3 楼

还要回到起点!!!貌似n>6都不OK~~~

我来回复

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