已结束 GESP巅峰赛#19

A4810 | 机器人

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

Alice拥有一个机器人,该机器人支持以下四种操作:
- w x:机器人向上移动 $x$ 单位长度(即纵坐标增加 $x$ )。
- d x:机器人向下移动 $x$ 单位长度(即纵坐标减少 $x$ )。
- l x:机器人向左移动 $x$ 单位长度(即横坐标减少 $x$ )。
- r x:机器人向右移动 $x$ 单位长度(即横坐标增加 $x$ )。

起初,Alice将机器人放置在一个无限大平面的坐标 $(0, 0)$ 位置。在这个平面上存在 $n$ 个柱子,它们的坐标分别为 $(x_i, y_i)$ 。当机器人在执行指令移动过程中,如果前方遇到柱子,机器人就会立即停止移动。例如,若机器人当前位于坐标 $(2, 3)$ ,执行指令r 4,但坐标 $(4, 3)$ 处存在一个柱子,那么机器人将会在坐标 $(3, 3)$ 处停下。现在,已知Alice给机器人输入了一系列指令,求机器人最终的位置。

输入格式

第一行输入两个整数 $n$ $m$,两个整数用空格隔开,分别代表柱子的数目,以及操作的数目( $0 \le n ,m \le 2\times 10^5$ )

接下来 $n$ 行输入两个整数 $x_i$ $y_i$ ,两个整数用空格隔开,代表着第 $i$ 个柱子的位置,各个柱子的坐标互不相同,
($-10^9 \le x_i ,y_i \le 10^9$)

接下来输入 $m$ 行,包含一个字符 $c_i$,和一个整数$z_i$,代表机器人第 $i$ 次执行的指令 ($c_i \in$ {w ,d,l ,r} , $1 \le z_i \le 10^9$ )

输出格式

输出两个整数用空格隔开,代表机器人的最终位置

输入输出样例

输入 #1
1 3
0 1
w 1
d 1
l 1
输出 #1
-1 -1
输入 #2
4 3 
0 1 
1 0 
-1 0
0 -1
w 1
d 1
d 1
输出 #2
0 0
C++ 编辑器
输入
输出