#Z04048022. 机器人移动(一)

机器人移动(一)

题目描述

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

-2 :向左转 90 度 -1 :向右转 90 度 1 <= x <= 9 :向前移动 x 个单位长度 在网格上有一些格子被视为障碍物 t 。第 i 个障碍物位于网格点 t[i] = (xi, yi) 。

机器人无法走到障碍物上,它将会停留在障碍物的前一个网格方块上,并继续执行下一个命令。

返回机器人距离原点的 最大欧式距离 的 平方 。(即,如果距离为 5 ,则返回 25 )

注意:

北方表示 +Y 方向。 东方表示 +X 方向。 南方表示 -Y 方向。 西方表示 -X 方向。 原点 [0,0] 可能会有障碍物。

输入格式

输入一个整数n,表示指令个数 输入n个整数,表示n个指令

输出格式

输出一个整数,表示最大欧式距离的平方。

3
4 -1 3
25

样例1解释: 机器人开始位于 (0, 0):

  1. 向北移动 4 个单位,到达 (0, 4)
  2. 右转
  3. 向东移动 3 个单位,到达 (3, 4) 距离原点最远的是 (3, 4) ,距离为 32+42=253^2 + 4^2 = 25
4
6 -1 -1 6
36

样例2解释: 机器人开始位于 (0, 0):

  1. 向北移动 6 个单位,到达 (0, 6).
  2. 右转
  3. 右转
  4. 向南移动 6 个单位,到达 (0, 0). 机器人距离原点最远的点是 (0, 6),其距离的平方是 62=366^2 = 36 个单位。