[COCI2011-2012#3] ROBOT
题目背景
Mirko 创造了一个新的机器人,并决定在一个巨大的测试轨道上测试它。
题目描述
我们不妨把测试轨道想象成一个二维坐标系。机器人从 $(0,0)$ 开始,接收一组由 `S`、`J`、`I`、`Z` 表示的指令,每一个指令都标志着机器人应该在哪个方向移动。具体地,如果机器人当前位于 $(x,y)$:
- 指令 `S` 意味着它应该移动到 $(x,y+1)$。
- 指令 `J` 意味着它应该移动到 $(x,y-1)$。
- 指令 `I` 意味着它应该移动到 $(x+1,y)$。
- 指令 `Z` 意味着它应该移动到 $(x-1,y)$。
当机器人接受指令并在测试轨道上移动时,Mirko 以下列方式验证其位置:
测试轨道上有 $n$ 个固定的控制点,每个控制点都会测量与机器人的**曼哈顿距离**,并将所有距离的和发送给 Mirko。假设机器人完全按照指令移动,请你计算执行每条指令后所有控制点距离机器人的曼哈顿距离之和。
输入输出格式
输入格式
输入共 $n+2$ 行。
第一行,两个整数 $n,m$,分别表示控制点的数量和指令的数量。
第 $2\sim n+1$ 行,每行两个整数 $(x_i,y_i)$,分别表示每个控制点的横坐标和纵坐标。
第 $n+2$ 行一个长度为 $m$ 的字符串,表示机器人将接收到的指令。
输出格式
输出共 $m$ 行,每行一个整数,表示执行每条指令后所有控制点距离机器人的曼哈顿距离之和。
输入输出样例
输入样例 #1
1 3
0 -10
ISI
输出样例 #1
11
12
13
输入样例 #2
3 5
0 0
1 1
1 -1
SIJJZ
输出样例 #2
5
4
3
4
5
说明
**【前置知识】**
- 曼哈顿距离:设有两个点 $(a,b)$ 和 $(c,d)$,则这两个点的曼哈顿距离为 $|a-c|+|b-d|$。
**【数据范围】**
对于所有数据,$1\leqslant n\leqslant 10^5$,$1\leqslant m\leqslant 3\times 10^5$,$|x_i|,|y_i|\leqslant 10^6$,指令仅包含 `S`、`I`、`J`、`Z` 四个字符中的一个。
**【题目来源】**
本题来源自 **_[COCI 2011-2012](https://hsin.hr/coci/archive/2011_2012/) [CONTEST 3](https://hsin.hr/coci/archive/2011_2012/contest3_tasks.pdf) T4 ROBOT_**,按照原题数据配置,满分 $120$ 分。
由 [Eason_AC](https://www.luogu.com.cn/user/112917) 翻译整理提供。