#2666. 超常班的走廊巡逻
超常班的走廊巡逻
题目背景
whjkfls 的超常班里,有一条长长的走廊,从 号教室延伸到 号教室。
走廊上有一支由超常班学生组成的巡逻队。他们遵循着一条buchengwen的班规:
若前方有路,便踏前一步;若前方无路,便转身回望。
题目描述
走廊是一条长度为 的线段,教室编号依次为 。
巡逻队的成员(以下称为"超常班学员")按照如下规则在走廊上移动:
- 一个在时间 位于 号教室、面朝西(朝编号减小的方向)的超常班学员,会在时间 移动到 号教室,方向不变。特别的,若 (已到最西端),则该学员原地转向,改为面朝东。
- 一个在时间 位于 号教室、面朝东(朝编号增大的方向)的超常班学员,会在时间 移动到 号教室,方向不变。特别的,若 (已到最东端),则该学员原地转向,改为面朝西。
简言之:能走则走,不能走则原地掉头。
最初,走廊上空无一人。
现在,你作为 Haisan.club 的值周生,需要按顺序处理以下三类指令:
W t y z—— 在时间 ,从 号教室向西放出 名超常班学员(全部面朝西)E t y z—— 在时间 ,从 号教室向东放出 名超常班学员(全部面朝东)Q t y z—— 输出时间 时,编号在 范围内的教室里共有多少名超常班学员
输入格式
第一行两个整数 ,表示走廊跨越 间教室,共有 条指令。
接下来 行,每行一条指令,格式为 ,其中 为 W、E、Q 之一,其余参数含义如上所述。
输出格式
对于每条 的指令,输出一行一个整数,表示该时刻指定区间内的超常班学员总数。
样例
样例 1
10 3
E 1 2 1
W 2 5 1
Q 3 4 5
2
解释:时间 在 号教室放 人向东,时间 他走到 号教室;时间 在 号教室放 人向西,时间 他走到 号教室。查询 即 号教室,有 人。
样例 2
5 4
W 1 1 2
E 2 4 2
Q 3 2 4
Q 5 2 4
0
4
解释:时间 在 号教室放 人向西,他们走到 号教室后于时间 原地转向向东;时间 在 号教室放 人向东,他们于时间 走到 号教室( 转向,)。查询 在时间 时为空;时间 时, 名学员均在 区间内。
样例 3
10 10
Q 1 3 8
W 2 1 2
E 3 7 3
Q 4 1 5
Q 5 0 6
W 6 2 3
E 7 3 5
Q 8 2 10
E 9 7 1
W 10 6 1
0
0
2
10
数据范围
- 对于 的数据:,,当 或 时,。
- 对于 的数据:
- 当 或 时:,
- 当 时: