📜  拼图 |骑士可以通过访问所有方格从顶部到达底部吗

📅  最后修改于: 2022-05-13 01:57:25.838000             🧑  作者: Mango

拼图 |骑士可以通过访问所有方格从顶部到达底部吗


有没有办法让国际象棋骑士从N x N棋盘的左上角开始,访问棋盘的所有方格一次并在右下角结束。

解决方案

我们需要准确地遍历棋盘的所有方格一次。此外,骑士的动作是L形的,即垂直或水平穿越两个方格。从中得出的一个简单观察是,在一次移动中,骑士以两个不同颜色的方块开始和结束。

考虑两种情况:

  1. 情况 N 是偶数:让 N 的值为 8。因此,棋盘上的总格数将为 64。现在,要访问棋盘上的所有格子,骑士必须走 63 步。由于移动的总数是奇数,旅程将在相反颜色的方块上开始和结束。由于左上角和右下角的方块都是一样的颜色,所以旅程是不可能的。
  2. 情况 N 是奇数:让 N 的值为 9。因此,棋盘上的总格数将为 81。现在,要访问棋盘上的所有格子,骑士必须走 80 步。因为,移动的总数是偶数,旅程将在相同颜色的方块上开始和结束。由于左上角和右下角的方块颜色相同,因此可以在 9 x 9 板上旅行。但是对于 N = 3,这不是解决方案,因为骑士无法到达 (2,2) 位置(即棋盘的中间)。

因此,在N x N 棋盘上,骑士必须走(N 2 – 1) 步才能访问每个方格一次。因此,如果 N 是偶数,则旅程是不可能的,而对于 N 的数值,旅程是可能的