SP14981 UOFTBF - Light Cycling
题目描述
你被一个投影仪吸进了父亲的秘密计算机,发现自己身处奇妙的电子世界!在这里,你全天都在玩游戏,如果输掉了,就会 "死亡"。
其中一个游戏里,你和对手驾驶光轮摩托在平面的网格上奔驰,所过之处会留下不可抹去的光迹。这个网格可以视为一个笛卡尔坐标平面,并被不可穿越的矩形墙壁包围,保证每个光轮摩托的 $x$ 坐标始终在 $1$ 和 $10^{12}$ 之间,而 $y$ 坐标在 $1$ 和 $10^6$ 之间(包括边界)。光轮摩托总是沿着网格线移动,每秒可以移动1个方格。
比赛持续 $S$($1 \leq S \leq 10^{100}$)秒。你从坐标 $(X_A, Y_A)$ 出发,按照 $N_A$($1 \leq N_A \leq 10^5$)条指令移动。每条指令由字符 $D_{Ai}$(“U”、“D”、“L”、“R”分别代表上、下、左、右)和整数 $L_{Ai}$ 表示,表示向指定方向移动 $L_{Ai}$ 个方格。你的对手从坐标 $(X_B, Y_B)$ 出发,按照 $N_B$ 条指令移动,其第 $i$ 条指令由 $L_{Bi}$ 和 $D_{Bi}$ 组成。参与者的指令绝不会把他们带出墙壁的边界,并且每个玩家执行所有指令恰好需要 $S$ 秒。此外,任何一条指令的方向都不会与前一条相同或相反。最后,若某个网格点被多个路径经过,保证有一条路径垂直穿过,而另一条水平穿过(起点和终点不在此列)。
如果两个光轮摩托同时到达同一个网格点,或者光轮摩托撞到已有的光迹(即经过的任何网格点),即发生碰撞。这是练习赛,所以碰撞仅用来统计次数,并不影响比赛结果。在 $T$($1 \leq T \leq 20$)个情景中,你需要统计每场比赛内的碰撞总次数。
输入格式
第一行: 一个整数,$T$
对于每个情景:
- 第一行:一个整数,$S$
- 第二行:三个整数,$X_A$、$Y_A$ 和 $N_A$
- 接下来 $N_A$ 行:每行由 $D_{Ai}$ 和 $L_{Ai}$ 组成,表示每条指令
- 接下来一行:三个整数,$X_B$、$Y_B$ 和 $N_B$
- 接下来 $N_B$ 行:每行由 $D_{Bi}$ 和 $L_{Bi}$ 组成,表示每条指令
输出格式
对于每个情景,输出一个整数,表示比赛中发生的总碰撞次数。
说明/提示
- $$1 \leq T \leq 20$$
- $$1 \leq S \leq 10^{100}$$
- $$1 \leq X_A, X_B \leq 10^{12}$$
- $$1 \leq Y_A, Y_B \leq 10^6$$
- $$1 \leq N_A, N_B \leq 10^5$$
**本翻译由 AI 自动生成**