3265 - 模拟行走机器人

题目描述

一个机器人在一个无限大小的 XY 网格平面上行走,从点 (0, 0) 处开始出发,面向北方。该机器人可以接收以下三种类型的命令 commands

-2:向左转 90

-1:向右转 90

{1 \leq x \leq 9 }:向前移动 x 个单位长度

在网格上有 n 个格子被视为障碍物 。第 i 个障碍物位于网格点 (x_i, y_i)

机器人无法走到障碍物上,它将会停留在障碍物的前一个网格方块上,但仍然可以继续尝试进行该路线的其余部分。

输出从原点到机器人所有经过的路径点(坐标为整数)的最大欧式距离的平方。(即,如果距离为 5,则返回 25

例如: 距离原点最远的是 (3, 4) ,最大欧式距离平方为 {3^2 + 4^2 = 25}

注意:

北表示 +Y 方向。

东表示 +X 方向。

南表示 -Y 方向。

西表示 -X 方向。

输入

第一行包含两个整数 n,mn 表示障碍物的个数, m 表示指令的长度。

接下来 n 行,每行包含两个整数 x_iy_i,表示一个障碍物的坐标。

最后一行包含一个整数数组 commands,表示机器人的行动指令。

输出

一个整数,表示从原点到机器人所有经过的路径点(坐标为整数)的最大欧式距离的平方。

样例

输入

1 5
2 4
4 -1 4 -2 4

输出

65

输入

0 3
4 -1 3

输出

25
说明

【样例1解释说明】

机器人开始位于 (0, 0):

  1. 向北移动 4 个单位,到达 (0, 4)
  2. 右转
  3. 向东移动 1 个单位,然后被位于 (2, 4) 的障碍物阻挡,机器人停在 (1, 4)
  4. 左转
  5. 向北走 4 个单位,到达 (1, 8) 距离原点最远的是 (1, 8) ,距离为 {1^2 + 8^2 = 65}

【数据范围】

0 \leq n \leq 10^4

1 \leq m \leq 10^4

-3 * 10^4 \leq x_i, y_i \leq 3 * 10^4

答案保证小于 {2^{31}}

标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 55
通过人数 24
金币数量 0 枚
难度 基础


上一题 下一题