IBM Research

谜题   IBM-312

多个汉诺塔何时同时到达目标

IBM Research · Ponder This · 2024 年 4 月

IBM Ponder This #312 · 2024 年 4 月

三根柱子沿圆周排列,n 个圆盘编号为 1,2,,n,初始全在一根柱子上,最小盘 1 在顶端。每次只能移动柱顶盘,不能把大盘放在小盘上。

定义三种操作码:0 把最小盘顺时针移到下一柱;1 把最小盘逆时针移到下一柱;2 移动一个非最小盘。最后一种若存在合法动作则唯一,若全盘同柱则什么也不做。

把动作字符串循环使用。目标是把所有盘移到初始柱顺时针方向的下一柱。例如 n=3 时,0202020 达成目标,也可说循环 02 执行七步。一般 n 盘在 n 为奇数时用 02 执行 2n1 步,为偶数 n 时用 12 执行 2n1 步。

n=3、循环 0202112 在第八、九步都处于目标;n=4、循环 200211 在第四十一、一百二十二步处于目标。把 n=3 的第一游戏与 n=4 的第二游戏同步执行,首次同时处于目标在第 932 步。

任务:求 n=7、字符串 12021121120020211202121,与 n=10、字符串 0211202112002,首次同时达到目标的步数。

附加问题:再加入 n=9 及以下循环字符串,求三个游戏首次同时达到目标的步数,原题中的空格仅用于分隔排版:

20202020021212121121202120200202002121120202112021120020021120211211202002112021120211200212112020212120211

解答

认真尝试后再打开

待补充。