中文
English
Toggle navigation
YSACODE
F.A.Qs
Web Board
ProblemSet
Source/Category
Status
Ranklist
Contest
[
ProblemSet
Status
Ranklist
OI Ranklist
Statistics
]
Login
Problem Z: Hanoi汉诺塔
Problem Z: Hanoi汉诺塔
Time Limit:
1 Sec
Memory Limit:
128 MB
Submit:
195
Solved:
51
[
Submit
] [
Status
] [
Web Board
] [Creator:
]
Description
有N个圆盘,依半径大小(半径都不同),自下而上套在A柱上,每次只允许移动最上面一个盘子到另外的柱子上去(除A柱外,还有B柱和C柱,开始时这两个柱子上无盘子),但绝不允许发生柱子上出现大盘子在上,小盘子在下的情况,现要求设计将A柱子上N个盘子搬移到C柱去的方法。
Input
一个正整数N,N不超过16。
Output
多行,每行输出盘子的一步移动步骤;
移动步骤的格式为"X :from a-->c",X表示第几步,a-->c表示将A柱最上面的盘片移动到B柱。
(注意输出格式中的空格,参考输出样例)
Sample Input
Copy
3
Sample Output
Copy
1 :from a-->c 2 :from a-->b 3 :from c-->b 4 :from a-->c 5 :from b-->a 6 :from b-->c 7 :from a-->c