QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 512 MB 總分: 100

#3445. 树上的数字

统计

Lovisa 正在 KTH 听 Stefan Nilsson 讲授关于完美二叉树的课程。“完美二叉树有一个特殊的节点,称为根(root),通常画在最上方。除了最底层的节点(我们称之为叶子节点,leaves)外,每个节点都有两个子节点。” Lovisa 对这些内容早已了然于胸,因此感到有些无聊。Stefan 注意到了这一点,于是给 Lovisa 出了一道新难题。

首先,我们按如下方式给完美二叉树的节点编号。我们从最底层的右侧叶子节点开始,将其编号为 1,然后按从右到左的顺序对同一层级的节点进行编号。完成一层后,我们移动到上一层最右侧的节点,并按从右到左的顺序对该层的所有节点进行编号。我们以此方式继续,直到到达根节点。

当我们想要描述树中的一个节点时,可以通过描述从根节点开始向下指向叶子节点的路径来实现。在每个非叶子节点处,我们可以选择向左(‘L’)或向右(‘R’)。

图 A.1:高度为 3 的带编号二叉树,包含两条从根节点出发的标记路径。路径 LR 指向编号 11,路径 RRL 指向编号 2。根节点的编号为 15。

任务

Lovisa 的任务是根据给定的树高 $H$ 以及从根节点出发的路径描述,计算出该节点的编号。

输入格式

输入仅一行,包含树的高度 $H$($1 \le H \le 30$)以及一个由字母 ‘L’ 和 ‘R’ 组成的字符串,表示从根节点出发的路径。字母 ‘L’ 表示选择左子节点,字母 ‘R’ 表示选择右子节点。路径描述可能为空,且长度最多为 $H$。

输出格式

输出一行,包含路径所指向节点的编号。

样例

样例输入 1

3 LR

样例输出 1

11

样例输入 2

3 RRL

样例输出 2

2

样例输入 3

2

样例输出 3

7

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.