#ABC243D. [ABC243D] 二叉树上的移动(Moves on Binary Tree)

    ID: 2761 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>ABC入门算法闯关图论基础与树

[ABC243D] 二叉树上的移动(Moves on Binary Tree)

题目描述

有一个完美二叉树,包含 21010012^{10^{100}}−1 个顶点,编号从 1,2,...,2101001 1,2,...,2^{10^{100}}-1

顶点 11 是根节点。对于每个1 i < 2101001 1\leq\ i\ <\ 2^{10^{100}-1} ,顶点 ii 有两个子节点:左子节点是顶点 2i2i,右子节点是顶点 2i+12i+1

小高从顶点 XX 开始,执行 NN 次移动,这些移动由字符串 SS 表示。第 ii 次移动如下:

  • 如果 SS 的第 ii 个字符是 UU,移动到当前顶点的父节点。
  • 如果 SS 的第 ii 个字符是 LL,移动到当前顶点的左子节点。
  • 如果 SS 的第 ii 个字符是 RR,移动到当前顶点的右子节点。

请找出小高在 NN 次移动后所在顶点的编号。在给定的情况下,保证答案不超过 101810^{18}

输入格式

输入从标准输入中给出,格式如下:

N N X X

S S

输出格式

输出所求答案。

输入输出样例 #1

输入 #1

3 2
URL

输出 #1

输入输出样例 #2

输入 #2

4 500000000000000000
RRUU

输出 #2

500000000000000000

输入输出样例 #3

输入 #3

30 123456789
LRULURLURLULULRURRLRULRRRUURRU

输出 #3

126419752371

说明/提示

样例 1 解释

完美二叉树的结构如下:

在三次移动中,小高的路径是 21362→1→3→6

样例 2 解释

在过程中,小高可能会到达编号超过 101810^{18} 的顶点。

数据范围

  • 1  N  106 1\ \leq\ N\ \leq\ 10^6
  • 1  X  1018 1\ \leq\ X\ \leq\ 10^{18}
  • N,X N,X 都是整数
  • S 的长度为 NN,仅由字符 UULLRR 组成
  • 当小高在根节点时,他不会尝试移动到父节点
  • 当小高在叶节点时,他不会尝试移动到子节点
  • 小高在 NN 次移动后所在顶点的编号不超过 101810^{18}