测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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$ 层中,**吃到的肉饼层数**是多少?

输入格式

输入由标准输入给出,格式如下:
> $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$ 位整数表示。
上一题 去做题 下一题