马走日 象飞田

原点处有一匹马,它第一步可以跳到 (±1,±2)(±2,±1) 这八个点中的任一点,问:此马跳到整点 P(m,n) 的最少步数是多少.


分析与解 考虑到坐标系的对称性,不妨设mn0.定义两个整点A(x1,y1),B(x2,y2)的距离AB=|x1x2|+|y1y2|.思考如何用最小步数将马从P(m,n)跳回原点.

情形一 m=2n

由于每次移动到原点的距离最多减少3,因此至少需要m+n3步,每一步都取(2,1)即可.

情形二 nm<2n

先利用mn(2,1)移动到(2nm,2nm).此时

(1) 若2nm3的倍数,那么再经过2nm3(2,1)+(1,2)就可以移动到原点,此时最少步数是m+n3

(2) 若2nm31,那么经过[2nm3](2,1)+(1,2)后到达(1,1),再通过2次移动即可回到原点,此时最小步数是[m+n3]+2

(3) 若2nm32,此时由于(2,2)回到原点需要4步,因此除了(m,n)=(2,2)的情形之外,可以考虑回退一步后通过3次移动回到原点(比如退回到(4,3),再通过3次移动(4,3)(3,1)(2,1)(0,0)到达原点),此时最小步数为[m+n3]+2

情形三 m>2n

先利用n(2,1)(m,n)移动到(m2n,0).此时

(1) 若m2n4的倍数,那么经过m2n2(2,1)+(2,1)就可以移动到原点,此时最小步数为m2

(2) 若m2n41,此时由于(1,0)回到原点需要3步,因此除了(m,n)=(1,0)的情形外,可以考虑回退一步后通过2次移动回到原点,此时最小步数为[m2]+1

(3) 若m2n42,此时通过[m2n2]1次移动后到达(2,0),再通过2次移动回到原点,此时最小步数为[m2]+1

(4) 若m2n43,此时通过[m2n2]1次移动后到达(3,0),再通过3次移动回到原点,此时最小步数为[m2]+2

综上所述,此马跳到整点P(m,n)的最小步数可以按以下方式计算.将max看成新的m,将\min\{|m|,|n|\}看成新的n

规则一 若(m,n)=(1,0),则最小步数为3;若(m,n)=(2,2),则最小步数为4

规则二 若m\leqslant 2nm\neq 1,则\begin{cases} \dfrac{m+n}3,&3\mid (m+n)\\ \left[\dfrac{m+n}3\right]+2,&3\nmid (m+n).\end{cases}

规则三 若m>2nm\neq 1,则\begin{cases} \dfrac m2,&m-2n \equiv 0\pmod{4},\\ \dfrac{m+1}2, &m-2n \equiv 1\pmod{4},\\ \dfrac{m+2}2,&m-2n \equiv 2\pmod{4},\\ \dfrac{m+3}2,&m-2n \equiv 3\pmod{4}.\end{cases}

此条目发表在趣味数学分类目录。将固定链接加入收藏夹。

发表回复