1030 [ABC376B]Hands on Ring (Easy) | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1030

[ABC376B]Hands on Ring (Easy)

Easy 时间限制 1000 ms 内存限制 262144 KB
模拟

题目详情

返回题库

题目描述

你正用双手拿着一个圆环。这个圆环由编号为1,2,…,N的N(N≥3)部分组成,其中i和i+1(1≤i≤N−1) 部分相邻,而1和N部分也相邻。

最初,您的左手拿着1部分,右手拿着2部分。每一次您可以完成以下操作:

  • 将其中一只手移动到当前所持部件的邻近部分,只有当另一只手不在目标部件上时,您才可以这样做


你需要完成Q次以下操作,每次操作有一个字符H,和一个整数T。

H代表左手或者右手,需要把指定的手放在T位置上。请输出完成操作以后最少移动了多少步。在移动过程中,两只手不能重叠。

输入描述

第一行N和Q,代表圆环N个部分,Q代表操作次数

第二行到第Q+1行,Q个操作

数据范围:

  • 3≤N≤100
  • 1≤Q≤100
  • Hi 为字符 L 或者 R
  • 1≤Ti≤N

输出描述

输出完成操作以后,最小移动步数

提示

样例一:


通过以下操作,您可以按顺序执行所有  Q 指令。

  1. 移动右手作为  2→3→4 的一部分,执行第一条指令。
  2. 移动左手作为  1→6→5 部分,执行第二条指令。
  3. 移动你的右手作为  4→3→2→1→6 部分,执行第三个指令。

在这种情况下,操作总数为  2+2+4=8 ,即最小值。(注意,在执行第三条指令时,不能将右手作为  4→5→6 部分移动)。

测试样例

样例支持多行内容展示
样例1
输入
6 3
R 4
L 5
R 6
输出
8
样例2
输入
100 2
L 1
R 2
输出
0
样例3
输入
30 8
R 23
R 26
R 29
L 20
R 29
R 19
L 7
L 16
输出
92
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。