#1999. 汉诺塔问题
汉诺塔问题
时间:1s
空间:256M
题目描述
汉诺塔问题是源自古老传说的益智游戏,从左到右有 A, B, C 三根柱子,A 柱上有 个穿孔圆盘,圆盘的尺寸由下到上,依次变小。这个游戏的目标是将所有的圆盘移到 C 柱.
提示,可以将圆盘临时置于 B 柱,也可以将圆盘重新放回 A 柱,但必须遵守以下两条规则:
- 每次只能移动某一根柱子最上面的圆盘。
- 大圆盘不不能叠在小圆盘上。
小 Z 想记录按照最优策略游戏时,每移动一步后 A, B, C 共 根柱子的圆盘数量。
例如,当有三个圆盘时,其移动过程如下:
- 从 A 柱移到 C 柱,三根柱子上的圆盘数量分别是
- 从 A 柱移到 B 柱,二根柱子上的圆盘数量分别是
- 从 C 柱移到 B 柱,三根柱子上的圆盘数量分别是
- 从 A 柱移到 C 柱,三根柱子上的圆盘数量分别是
- 从 B 柱移到 A 柱,三根柱子上的圆盘数量分别是
- 从 B 柱移到 C 柱,二根柱子上的圆盘数量分别是
- 从 A 柱移到 C 柱,三根杜子上的圆盘数量分别是
- 可以看到,最少 步就完成了所有圆盘的移动。
要将 块圆盘从 A 柱,移到 C 柱,按照最优策,请计算第 次移到后,三根柱子上面的圆盘数量分别是多少?
输入格式
一行两个个整数 和 。分别表示圆盘数量和移到次数。
输出格式
一行包含 个整数,分别表示 A, B, C 三根柱子上圆盘的数量
样例
3 5
1 1 1
3 1
2 0 1
3 7
0 0 3
说明/提示
对于 的数据,。