A5342 | 汉堡汉堡汉
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
在这个世界里,今天是圣诞节。**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$ 位整数表示。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?