📜  拼图 |棋盘上没有检查的最大国王数

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

拼图 |棋盘上没有检查的最大国王数

先决条件——鸽巢原理
问题陈述——给定一个 8×8 的棋盘,计算出棋盘上可以放置的国王的最大数量,这样没有两个国王互相攻击,即没有一个国王被检查。国王一次只能在棋盘上的任何方向(水平、垂直和对角线)移动一步。

解释 -
根据鸽笼原理,如果我们有 n+1 只鸽子并且我们有 n 个鸽笼(或更确切地说是笼子),那么我们必须有一个洞(或笼子)有不止一只鸽子。

例如,如果我有 6 个球和 5 个盒子。我把所有的球放在盒子里(任何盒子可以有任意数量的球)。然后鸽笼原理指出,无论你如何将球放入盒子中,至少会有一个盒子总是有一个以上的球。这是数学中一个非常直观的原理,但与该原理相关的问题却很难理解。

所以,这是棋盘。这个问题和鸽巢原理有关系吗?


图 – 8×8 棋盘



这个问题的答案是 16。但是我们如何得出这个解决方案。在这个谜题中需要注意的是,每当我们在 2×2 方格内有两个国王时,它们总是处于检查状态:




无论我们如何在 2×2 棋盘中放置 2 个国王,我们都将始终检查它们。通过这种观察,我们可以很容易地得出结论,在一个 2×2 的正方形内最多可以有一个国王。

我们可以把一个 2×2 的正方形想象成一个洞(笼子)给我们的鸽子,即国王。因此,一个 2×2 的正方形占据 4 平方单位的面积。正方形棋盘的总面积为64个正方形单元(假设棋盘的大小为8个单元×8个单元)。因此,在这种情况下,我们有 64/4 = 16 个笼子或孔。

我们可以轻松地在这些 2×2 的大方格中各放置一个国王。在完成 16 个国王之后,我们总会有一个场景,其中两个国王被放置在一个 2×2 的正方形中(根据鸽子洞原理)。这违反了我们的初始条件,因此我们最多可以有 16 个满足上述条件的国王。


图 –可能的解决方案


图 –另一种可能的解决方案

广义公式——
即使对于 n×n 方格,笼子的大小(2×2 方格)保持不变,我们可以很容易地说,只要你超过了可能的笼子数量,2×2 方格内肯定会有两个国王。因此,笼子的最大数量由下式给出: floor((n\times n)/4)