题库练习 汉诺塔(2)

A71359 | 汉诺塔(2)

来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0

题目描述

汉诺塔的问题大家都已经很熟悉了,有三个柱子,第 1A 柱子上有一些大小不一的 n 个金片,初始状态下保证金片从上到下按照从小到大的顺序叠放,并按照 1 \sim n 的顺序编号。

要把金片从 A 柱移动到 C 柱,可以借助 B 柱,移动过程中不能出现大金片在小金片上面的情况。

请问 n 个金片的情况下,第 K 步移动的是编号为多少的金片?

输入格式

输入两个整数 nk ,分别代表初始状态有 n 个金片,以及询问第 k 次移动移动的是哪个金片。

数据范围:2 ≤ n ≤ 20,1 ≤ k < 2^n

输出格式

输出第 k 次移动的盘子的编号。

输入输出样例

输入 #1
3 4
输出 #1
3
C++ 编辑器
输入
输出