P15855 [蓝桥杯第二届国际赛] 汉诺塔问题
题目描述
汉诺塔问题是一个经典的数学问题。
给定三根柱子 A、B、C,柱子 A 上按大小顺序放着 $n$ 个大小不同的盘子,最下面的盘子最大,最上面的盘子最小。现在要将所有盘子从柱子 A 移动到柱子 C 中,问最少要移动多少次。
答案是最少 $2^n-1$ 次。而且要以最少的次数完成移动,只存在一种方案。
比如,当 $n=3$ 时,总共要移动 $7$ 步:
第 $1$ 步:最小的盘子中 A 移到 C,记为 A->C;
第 $2$ 步:第 $2$ 小的盘子从 A 移到 B,记为 A->B;
第 $3$ 步:最小的盘子中 C 移到 B,记为 C->B;
第 $4$ 步:第 $3$ 小的盘子从 A 移到 C,记为 A->C;
第 $5$ 步:最小的盘子中 B 移到 A,记为 B->A;
第 $6$ 步:第 $2$ 小的盘子从 B 移到 C,记为 B->C;
第 $7$ 步:最小的盘子中 A 移到 C,记为 A->C。
请问,在第 $x$ 步到第 $y$ 步之间,有多少次 A->B,多少次 A->C,多少次 B->A,多少次 B->C,多少次 C->A,多少次 C->B?
输入格式
输入的第一行包含一个整数 $n$。
第二行包含两个整数 $x, y$,用一个空格分隔。
输出格式
输出六行,每行一个整数。分别表示以上六个问题的答案。
说明/提示
### 【数据规模与约定】
对于 $30\%$ 的评测用例,$1 \le n \le 10$,$1 \le x \le y \le 2^n-1$。
对于 $60\%$ 的评测用例,$1 \le n \le 30$,$1 \le x \le y \le 2^n-1$。
对于所有评测用例,$1 \le n \le 100$,$1 \le x \le y \le 2^n-1$,$y \le 10^{18}$。