You are currently in legacy mode. Some additional features will be unavailable. We strongly recommend switching to standard mode on a modern browser. Standard mode 비공개

#P1103. 汉诺塔

汉诺塔

题目描述 汉诺塔

假设有一个三柱汉诺塔(ABC柱)
做一个c++程序,写出一个n层汉诺塔,通过A柱到达C柱的标准最简步骤。

教程

基本规则:
· 圆盘初始堆叠在起始柱(A柱),从小到大排列
· 移动时只能操作最上层的圆盘,确保移动后小圆盘始终在大圆盘上方
· 最终让A柱的初始堆叠平移到C柱上 务必确保步骤总数为2n1{2^{n}-1},即最简步骤

输入

输入一个整数n,为汉诺塔A柱初始层数。

输出

输出转换过程,必须符合教程规则
第前2n1{2^{n}-1}行为过程输出,符合WHO from A to C的格式,依次为(几号圆盘 从A柱 到达C柱)中间空格隔开
最后一行输出一共执行的最简步骤,符合sum= K 的格式,K为执行的步骤
特别声明如果输入的数小于1大于10都有特殊处理,详情看样例#1 #2

样例 #1

样例输入#1

0

样例输出#1

DFS Error

样例 #2

样例输出#2

11

样例输出#2

RunTime Error

样例 #3

样例输出#3

2

样例输出#3

1 from A to B
2 from A to C
1 from B to C
sum=3

数据范围与提示

1n101≤n≤10 正常的时间限制改为5000ms5000ms内存限制为26MB26MB
非正常判断输出时间限制为10ms10ms内存限制为10MB10MB