一道 / edao.plus
#10110

相邻差约束圆阵·1 到 7

五年级杂题
#枚举法#递推法
题目

把 1, 2, 3, 4, 5, 6, 7 这 7 个数字各用一次填入圆周上依次排列的 7 个圆 A₁, A₂, …, A₇(首尾相接)。已知相邻两圆上的数字之差的绝对值依次为: |A₂ − A₁| = 2, |A₃ − A₂| = 1, |A₄ − A₃| = 3, |A₅ − A₄| = 1, |A₆ − A₅| = 3, |A₇ − A₆| = 1, |A₁ − A₇| = 5。 若规定 A₁ = 1,请从 A₁ 开始顺时针写出 7 个圆上的数字。

7 个圆首尾相接排成闭环

解法

  1. 1.分析:记 A_{k+1} − A_k = ε_k · d_k,其中 d = (2, 1, 3, 1, 3, 1, 5) 为给定的 7 个绝对差,ε_k ∈ {+1, −1}。由于圆周闭合,所有带号差之和为 0:Σ ε_k d_k = 0。
    A₁ = 1=
    A₂ = 1 + 2=3
    A₃ = 3 − 1=2
    A₄ = 2 + 3=5
    A₅ = 5 − 1=4
    A₆ = 4 + 3=7
    A₇ = 7 − 1=6
    |A₁ − A₇| = |1 − 6|=5 ✓

    签名 (+,−,+,−,+,−,−);正步和 = 负步和 = 8

  2. 2.设取 +1 的那些 d_k 之和为 P,取 −1 的为 N。那么 P − N = 0 且 P + N = 2+1+3+1+3+1+5 = 16。于是 P = N = 8。
  3. 3.从 {2, 1, 3, 1, 3, 1, 5} 中挑出子集和为 8 的方法(表示『正向前进』的步):{2, 3, 3} 或 {2, 1, 5} 或 {3, 5} 或 {1, 1, 1, 5} 等。
  4. 4.由 A₁ = 1 且所有 A_k 都要落在 {1, …, 7} 内不重复,我们逐步试:A₁ = 1 小,多半第一步需『加』。试 ε₁ = +1 → A₂ = 3。
  5. 5.继续:ε₂ = −1 → A₃ = 2;ε₃ = +1 → A₄ = 5;ε₄ = −1 → A₅ = 4;ε₅ = +1 → A₆ = 7;ε₆ = −1 → A₇ = 6;ε₇ = −1 → A₁' = 6 − 5 = 1 ✓。
  6. 6.核对:签名序列 (+, −, +, −, +, −, −),正步之和 = 2+3+3 = 8,负步之和 = 1+1+1+5 = 8 ✓,且 7 个数字 {1, 3, 2, 5, 4, 7, 6} 正好是 1–7 各一次。
  7. 7.结论:(A₁, A₂, A₃, A₄, A₅, A₆, A₇) = (1, 3, 2, 5, 4, 7, 6)。

练一练

把 1–7 各用一次填入圆周 7 个位置(首尾相接),相邻差绝对值依次为 2, 1, 3, 1, 3, 1, 5(与原题相同)。若规定 A₁ = 7(而不是 1),请写出 A₂, A₃。