A5342. 汉堡汉堡汉
编程题
普及/提高-
知识点
题目描述
在这个世界里,今天是圣诞节。**fangz** 在派对上制作一种“多维汉堡”。**等级**为 $L$ 的汉堡($L\ge 0$)按如下方式定义:
- 等级 $0$ 汉堡:只有 **一层肉饼**(记作 $P$)。
- 等级 $L$ 汉堡($L\ge 1$):自下而上依次为
面包 $B$、等级 $L-1$ 汉堡、肉饼 $P$、等级 $L-1$ 汉堡、面包 $B$。
例如,用 $P$ 表示肉饼、$B$ 表示面包,则等级 $1$ 汉堡为 $BPBPB$(竖着叠放时从下到上读),等级 $2$ 汉堡为 $BBPBPBPBB$。
现在有一个等级为 $N$ 的汉堡。**Welcome24ever** 会从**最下方**开始吃掉 $X$ 层(每层可能是 $B$ 或 $P$)。请计算:在这 $X$ 层中,**吃到的肉饼层数**是多少?
- 等级 $0$ 汉堡:只有 **一层肉饼**(记作 $P$)。
- 等级 $L$ 汉堡($L\ge 1$):自下而上依次为
面包 $B$、等级 $L-1$ 汉堡、肉饼 $P$、等级 $L-1$ 汉堡、面包 $B$。
例如,用 $P$ 表示肉饼、$B$ 表示面包,则等级 $1$ 汉堡为 $BPBPB$(竖着叠放时从下到上读),等级 $2$ 汉堡为 $BBPBPBPBB$。
现在有一个等级为 $N$ 的汉堡。**Welcome24ever** 会从**最下方**开始吃掉 $X$ 层(每层可能是 $B$ 或 $P$)。请计算:在这 $X$ 层中,**吃到的肉饼层数**是多少?
输入格式
输入由标准输入给出,格式如下:
> $N$ $X$
> $N$ $X$
输出格式
输出等级 $N$ 汉堡从下往上数 $X$ 层中包含的肉饼数量。
输入输出样例
输入 #1
2 7
输出 #1
4
输入 #2
1 1
输出 #2
0
输入 #3
50 4321098765432109
输出 #3
2160549382716056
说明/提示
## 限制条件
- $1 \leq N \leq 50$
- $1 \leq X \leq$(等级 $N$ 汉堡的总层数)
- $N, X$ 均为整数。
## 样例解释 1
等级 $2$ 汉堡(BBPBPBPBB)的最下方 $7$ 层中包含 $4$ 块肉饼。
## 样例解释 2
等级 $1$ 汉堡的最底层是面包。
## 样例解释 3
等级 $50$ 汉堡的层数已经大到无法用 $32$ 位整数表示。
- $1 \leq N \leq 50$
- $1 \leq X \leq$(等级 $N$ 汉堡的总层数)
- $N, X$ 均为整数。
## 样例解释 1
等级 $2$ 汉堡(BBPBPBPBB)的最下方 $7$ 层中包含 $4$ 块肉饼。
## 样例解释 2
等级 $1$ 汉堡的最底层是面包。
## 样例解释 3
等级 $50$ 汉堡的层数已经大到无法用 $32$ 位整数表示。