下载 PDF
组合 · 极值构造 · 抽屉原理发题

7×7 点阵中至少选多少个点,才能保证存在水平竖直长方形?

原题

从 7×7 的点阵中,至少要选出 ______ 个点,才能保证在这些选出的点中一定能找到四个点,恰好可以构成一个边为水平、竖直方向的长方形(含正方形)的四个顶点。

选点 · 观察 · 对账

交互演示

21 个实心点按每行向右循环平移一格排好,暂时固定。点击任一空心点加点,再点一次可撤回;试试全部 28 个空位。

7 行 · 7 列列号在上,行号在左
● 已选 ○ 未选酒红框:长方形的四个顶点

键盘方向键移动焦点,空格或回车选点。

已选点数
21 / 49
搭配使用总次数
21 / 21 个抽屉
已用列搭配种数
21 / 21
检测到长方形
0 个
21 / 21 抽屉恰好填满 · 0 长方形

同一行选中的任意两列构成一种搭配;不同的行不能重复同一种搭配,否则出现长方形。

逐行对账

行号1234567
点数3333333
列搭配3333333

一行选 3 点,产生 3 种列搭配;选 4 点,产生 6 种列搭配。搭配次数按行累加,重复也计入。

0 个长方形 · 试着再选一个点

21 点的循环排法

原理图解

7×7 点阵,已选 21 个点实心点表示已选,空心点表示未选。21 点循环平移排法中每行取三个点,任意两行只共有一列,没有长方形。11223344556677
21 点循环平移排法:每行 3 点,巧避所有长方形
第 1 行选第 1、2、4 列,后面每行向右循环平移一格。21 种列搭配各用一次,再加一个点就会出现长方形。
正向推导 · 抽屉原理

极简解答

  1. 列搭配的容量上限:21 种

    同一行选中的任意两列,构成一种搭配;不同的行不能重复同一种搭配,否则出现长方形。

    7 列中选两列,全部可能的列搭配只有 C(7, 2) = 21 种(即 21 个抽屉)。因此要想全阵不出现长方形,所有行产生的列搭配总数最多只能容纳 21 种。

  2. 正向推算点数上限:最多选 21 点

    一行选的点越多,产生的搭配数增长越快(选 2 点产 1 种、选 3 点产 3 种、选 4 点跳到 6 种)。要在不超过 21 种搭配的前提下多放点,每行点数应尽量平均:

    • 每行选 3 点:7 行共 7 × 3 = 21 点,产生搭配 7 × C(3, 2) = 21 种,恰好占满全部 21 个抽屉!

    • 若想选 22 点:哪怕最省(6 行 3 点、1 行 4 点),搭配总数也会达到 6 × 3 + 6 = 24 种 > 21,必定重复碰撞出长方形!

    因此,避开长方形的理论上限就是 21 个点。

  3. 验证 21 点可行,锁定答案 22 点

    这 21 点的上限能否真正做到?第 1 行选 第 1、2、4 列,后面每行顺次向右循环平移 1 格:

    行 1: (1, 2, 4) · 行 2: (2, 3, 5) · 行 3: (3, 4, 6) · 行 4: (4, 5, 7)
    行 5: (5, 6, 1) · 行 6: (6, 7, 2) · 行 7: (7, 1, 3)

    任意两行最多只有 1 个公共点,不多不少刚好把 21 种搭配各用一次,确实做到了 0 个长方形!

    既然 21 个点可以完全避开,要想保证必有长方形,就必须突破这个上限,至少选出 21 + 1 = 22 个点。