通常骑士每次移动(1,2)步,即在一个方向上移动一步,在另一个方向上移动两步。在一般版本中,它可以一次移动(i,j)步骤。
我不确定这是否是骑士的旅游问题,因为我不记得一次访问一个广场的限制。此外,答案只是肯定/否定,我们不需要知道实际路径。
我的一个想法主要是将棋盘点像图表一样处理并对所有有效(i,j)移动进行深度优先搜索,并将其标记为已访问。最后,如果有任何未访问的广场,那么这是不可能的。然而,这占用了N ^ 2空间,我想知道是否有更简单的解决方案,因为这是一个是/否的问题。
答案 0 :(得分:0)
它相当简单。
如果有NxN
棋盘和骑士移动a,b
,那么:
奈特可以覆盖整个棋盘。
**确定是否可以到达中心:
“设中心方为(x,y)。然后,其中一个点对必须在范围内(1..N,1..N)”
(x +/- a, y +/- b) and (x +/- b, y +/- a)
基本上是8点,如果骑士在棋盘的中心位置可以移动。