问题 J: 汉诺塔问题

内存限制:125 MB 时间限制:1.000 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:137 通过:54

题目描述

汉诺塔由编号为1n且大小不同的圆盘和3根柱子a,b,c组成,编号越小盘子越小。开始时,这n个圆盘由大到小依次套在a柱上。要求把a柱上n个圆盘按下述规则移到c柱上:

  1.一次只能移动一个圆盘,它必须位于某个柱子的顶部;

  2.圆盘只能在三个柱子上存放;

  3.任何时刻不允许大盘压在小盘上。

将这n个盘子用最少移动步数从a柱移动到c柱上,输出每一步的移动方法。

输入格式

只有1行,一个整数n(1<=n<=20),表示盘子的数量

输出格式

输出若干行,每行的格式是“步数. move 盘子编号 from 源柱 to 目标柱注意用一个空格隔开不同的部分

输入样例 复制

3

输出样例 复制

1. move 1 from a to c
2. move 2 from a to b
3. move 1 from c to b
4. move 3 from a to c
5. move 1 from b to a
6. move 2 from b to c
7. move 1 from a to c

分类标签