题库练习 「CEOI2013」棋盘
← 上一题 下一题 →

A6746 | 「CEOI2013」棋盘

时间限制200ms
内存限制256MB
通过 / 提交0/0

题目描述

**题目译自 [CEOI2013](https://ceoi2013.hsin.hr/) Day2 T1「[Board](http://ceoi.inf.elte.hu/probarch/13/tasks_day2.pdf)」**

Mirko 和 Slavko 有一个新的棋盘游戏。游戏棋盘类似于一棵完整的无限二叉树。更准确地说,棋盘由节点和连接它们的双向道路组成。根节点位于棋盘的顶部,我们称其为第零层。每个节点恰好有两个子节点,左子节点和右子节点,分别位于父节点的左下方和右下方。子节点的层级比父节点高一级。除了连接父节点与其子节点的道路外,每一层的所有节点之间也都有道路连接:从最左边的节点开始,每个节点与同一层中其右侧的下一个节点相连。

![](/uploads/acgo/image/d4d08489785919b0_946c611800eb.jpg)

<center>图 1: 下方第二个样例对应的棋盘</center>

通过棋盘的每条路径都是一系列操作,每一步通过一条道路从一个节点移动到另一个不同的节点。每一步可以用一个字符来描述,具体如下:

- 字符 1 表示从当前节点移动到其左子节点,
- 字符 2 表示从当前节点移动到其右子节点,
- 字符 U 表示从当前节点移动到其父节点,
- 字符 L 表示从当前节点移动到同一层中左侧的下一个节点,
- 字符 R 表示从当前节点移动到同一层中右侧的下一个节点。

例如,如果我们从根节点开始,按照步骤序列 221LU,我们将到达图中标记为字母 A 的节点。

请编写一个程序,给定棋盘上的两个节点,找到从一个节点到另一个节点所需的最少步骤数。这两个节点通过从根节点到它们各自的路径来指定。如果这两个路径指向同一个节点,答案为零。

输入格式

第一行的输入包含一个字符串,表示从根节点到第一个节点的路径。

第二行的输入包含一个字符串,表示从根节点到第二个节点的路径。

这两条路径都是有效的(即序列中的每一步都是可以执行的移动)。

输出格式

输出一行包含一个整数 ,从一个节点移动到另一个节点所需的最少步数。

输入输出样例

输入 #1
111RRRRRRR
222
输出 #1
0
输入 #2
221LU
12L2
输出 #2
3
输入 #3
11111
222222
输出 #3
10
C++ 编辑器
输入
输出