#C1286. B25 实践-5 双色汉诺塔

B25 实践-5 双色汉诺塔

B25 实践-5 双色汉诺塔

题目描述

A,B,CA,B,C33 个塔座。 开始时,在塔座 AA 上有一叠共 nn 个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为 1,2,....,n1,2,....,n ,奇数号圆盘着蓝色,偶数号圆盘着红色,如图所示。

现要求将塔座 AA 上的这一叠圆盘移到塔座 BB 上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则:

  • 每次只能移动 11 个圆盘;
  • 任何时刻都不允许将较大的圆盘压在较小的圆盘之上;
  • 任何时刻都不允许将同色圆盘叠在一起;
  • 在满足上述规则的前提下,可将圆盘移至 A,B,CA,B,C 中任一塔座上。

试设计一个算法,用最少的移动次数将塔座 AA 上的 nn 个圆盘移到塔座 BB 上,并仍按同样顺序叠置。

输入格式

一个正整数 nn

输出格式

将计算出的最优移动方案输出。 每一行由一个正整数 kk22 个字符 c1c1c2c2 组成,表示将第 kk 个圆盘从塔座 c1c1 移到塔座 c2c2 上。

输入样例

输出样例

1 A B
2 A C
1 B C
3 A B
1 C A
2 C B
1 A B

数据范围

对于 100100% 的数据:1n101 \leq n \leq 10