A82889.汉堡汉堡汉
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
在这个世界里,今天是圣诞节。fangz 在派对上制作一种“多维汉堡”。等级为 L 的汉堡(L≥0)按如下方式定义:
- 等级 0 汉堡:只有 一层肉饼(记作 P)。
- 等级 L 汉堡(L≥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≤N≤50
- 1≤X≤(等级 N 汉堡的总层数)
- N,X 均为整数。
样例解释 1
等级 2 汉堡(BBPBPBPBB)的最下方 7 层中包含 4 块肉饼。
样例解释 2
等级 1 汉堡的最底层是面包。
样例解释 3
等级 50 汉堡的层数已经大到无法用 32 位整数表示。