#Z02137. 还原汉诺塔
还原汉诺塔
题目描述
汉诺塔问题是一个十分经典的问题。
即有三根杆子 A,B,C。 A 杆上有 n 个穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至 C 杆: 1.每次只能移动一个圆盘 2.大盘不能叠在小盘上面
因为汉诺塔问题的最优步骤唯一,所以实际上每一步是固定的。
那么,对于最优步骤的第 k 步后而言,汉诺塔此时每个圆盘处于哪个杆子。
输入格式
本题有 T 组测试样例,以下为每组测试样例的输入情况。 第 1 行 1 个整数 n,表示穿孔圆盘的个数; 第 2 行 1 个长度为 n 的 01 字符串 k,表示二进制下小度想要查询的第 k 步后的汉诺塔情况。 数据范围保证 T≤100 , 1≤Σn≤1e5 , 0≤k≤最优步数。
输出格式
输出 1 个长度为 n 的字符串,字符串中仅包含 ABC 三种字符,分别代表第 i 小的圆盘所在的杆子编号。
2
3
011
5
11111
BBA
CCCCC
豫公网安备41072702000346号