4315: [GESP202412六级] 树上游走

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

## 题目背景 2024 年 12 月 GESP C++ 六级编程第 1 题 ## 题目描述 小杨有一棵包含无穷节点的二叉树(即每个节点都有左儿子节点和右儿子节点;除根节点外,每个节点都有父节 点),其中根节点的编号为 $1$,对于节点 $i$,其左儿子的编号为 $2 \times i$,右儿子的编号为 $2 \times i + 1$。 小杨会从节点 $s$ 开始在二叉树上移动,每次移动为以下三种移动方式的任意一种: - **第1种移动方式:** 如果当前节点存在父亲节点,向上移动到当前节点的父亲节点,否则不移动; - **第2种移动方式:** 移动到当前节点的左儿子; - **第3种移动方式:** 移动到当前节点的右儿子。 小杨想知道移动 $n$ 次后自己所处的节点编号。数据保证最后的所处的节点编号不超过 $10^{12}$。

输入

## 输入格式 第一行包含一个正整数 $n, s$,代表移动次数和初始节点编号。 第二行包含一个长度为 $n$ 且仅包含大写字母 $U,L,R$ 的字符串,代表每次移动的方式,其中 $U$ 代表第 $1$ 种移动方式,$L$ 代表第$2$种移动方式,$R$ 代表第$3$种移动方式。

输出

## 输出格式 输出一个正整数,代表最后所处的节点编号。

样例输入 复制

3 2
URR

样例输出 复制

7

提示

## 样例 ```input1 3 2 URR ``` ```output1 7 ``` ## 说明/提示 ### 样例解释 小杨的移动路线为 $2-1-3-7$。 ### 数据范围 | 子任务编号 | 数据点占比 | $n $ | $s $ | | ----------| ----------| -----------------| -----------------| | 1 | $ 20\%$ | $\leq 10$ | $\leq 2$ | | 2 | $20\%$ | $\leq 50$ | $\leq 10$ | | 3 | $60\%$ | $\leq 10^6$ | $\leq 10^{12}$ | 对于全部数据,保证有 $1 \leq n \leq 10^6, 1 \leq s \leq 10^{12}$ 。

来源/分类