#ABC376B. 双手绕环(Easy)
双手绕环(Easy)
双手绕环(Easy)
题目描述
注意:本题与 F 题的设定几乎相同。仅正文和约束条件中加粗的部分不同。
你用双手拿着一个圆环。 这个圆环由 个部件组成,编号为 ,其中部件 和部件 ()相邻,部件 和部件 也相邻。
初始时,你的左手拿着部件 ,右手拿着部件 。 在一次操作中,你可以执行以下操作:
将一只手移动到它当前所拿部件的相邻部件。但是,只有当另一只手不在目标部件上时,才能执行该操作。
下图展示了初始状态以及此后可以进行和不能进行的操作示例。环上各部件上的数字代表部件编号,标有 L 和 R 的圆分别代表你的左手和右手。
你需要按顺序遵循 条指令。 第 条()指令由字符 和整数 表示,含义如下:
执行若干次操作(可以为 0 次),使得左手(如果 为 L)或右手(如果 为 R)拿着部件 。 这里,你不能移动未被 指定的另一只手。
保证只会给出可执行的指令。
细节
在本问题的设定下,可以证明在第 条指令即将被执行之前,双手的位置都是唯一确定的。 此时,设左手和右手的位置分别为部件 和 ,则保证当 为 L 时 ,当 为 R 时 。
求遵循所有指令所需的最少操作总次数。
输入格式
输入按以下格式从标准输入给出:
输出格式
输出遵循所有指令所需的最少操作总次数。
样例
6 3
R 4
L 5
R 6
8
按如下方式操作,可以按顺序遵循所有 条指令。
将右手从部件 移动,以遵循第一条指令。
将左手从部件 移动,以遵循第二条指令。
将右手从部件 $4 \rightarrow 3 \rightarrow 2 \rightarrow 1 \rightarrow 6$ 移动,以遵循第三条指令。
此时,操作总次数为 ,这是最小值。 (注意,在遵循第三条指令时,不能将右手按部件 移动。)
100 2
L 1
R 2
0
存在不需要执行任何操作就能遵循所有指令的情况。
30 8
R 23
R 26
R 29
L 20
R 29
R 19
L 7
L 16
92
数据范围
- 是 L 或 R
- , , 是整数
- 只会给出可执行的指令(详见题目描述)。
难度
普及-
通过率
—
尝试
0
已通过
0
- ID
- 3453
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 1024MiB
- 上传者