#P7745. [COCI 2011/2012 #3] ROBOT

    ID: 8798 远端评测题 1000ms 32MiB 尝试: 0 已通过: 0 显示难度普及+/提高− 上传者: 标签>2011COCI(克罗地亚)

[COCI 2011/2012 #3] ROBOT

背景

Mirko 创造了一个新的机器人,并决定在一个巨大的测试轨道上测试它。

题目描述

我们不妨把测试轨道想象成一个二维坐标系。机器人从 (0,0)(0,0) 开始,接收一组由 S、J、I、Z 表示的指令,每一个指令都标志着机器人应该在哪个方向移动。具体地,如果机器人当前位于 (x,y)(x,y):

  • 指令 S 意味着它应该移动到 (x,y+1)(x,y+1)。
  • 指令 J 意味着它应该移动到 (x,y−1)(x,y-1)。
  • 指令 I 意味着它应该移动到 (x+1,y)(x+1,y)。
  • 指令 Z 意味着它应该移动到 (x−1,y)(x-1,y)。

当机器人接受指令并在测试轨道上移动时,Mirko 以下列方式验证其位置:

测试轨道上有 nn 个固定的控制点,每个控制点都会测量与机器人的曼哈顿距离,并将所有距离的和发送给 Mirko。假设机器人完全按照指令移动,请你计算执行每条指令后所有控制点距离机器人的曼哈顿距离之和。

输入格式

输入共 n+2n+2 行。

第一行,两个整数 n,mn,m,分别表示控制点的数量和指令的数量。
第 2∼n+12\sim n+1 行,每行两个整数 (xi,yi)(x_i,y_i),分别表示每个控制点的横坐标和纵坐标。
第 n+2n+2 行一个长度为 mm 的字符串,表示机器人将接收到的指令。

输出格式

输出共 mm 行,每行一个整数,表示执行每条指令后所有控制点距离机器人的曼哈顿距离之和。

1 3
0 -10
ISI
11
12
13
3 5
0 0
1 1
1 -1
SIJJZ
5
4
3
4
5

提示

【前置知识】

  • 曼哈顿距离:设有两个点 (a,b)(a,b) 和 (c,d)(c,d),则这两个点的曼哈顿距离为 ∣a−c∣+∣b−d∣|a-c|+|b-d|。

【数据范围】

对于所有数据,1⩽n⩽1051\leqslant n\leqslant 10^5,1⩽m⩽3×1051\leqslant m\leqslant 3\times 10^5,∣xi∣,∣yi∣⩽106|x_i|,|y_i|\leqslant 10^6,指令仅包含 S、I、J、Z 四个字符中的一个。

【题目来源】

本题来源自 COCI 2011-2012 CONTEST 3 T4 ROBOT,按照原题数据配置,满分 120120 分。

由 Eason_AC 翻译整理提供。