#L4314. 「ROIR 2023 Day1」机器人吸尘器

「ROIR 2023 Day1」机器人吸尘器

题目描述

译自 ROI Regional 2023 Day1 T3. Робот-пылесос

我们来看一个坐标平面,计划使用机器人吸尘器进行清洁。机器人吸尘器是一个大小为k×kk \times k的正方形,边与坐标轴平行。最初,机器人的左下角位于点(0,0)(0,0),右上角位于点(k,k)(k, k)

给定机器人在平面上的nn次移动,第ii次移动由方向did_{i}和距离aia_{i}描述。方向did_{i}可以是NN(向上,增加YY坐标),SS(向下,减少YY坐标),WW(向左,减少XX坐标)或EE(向右,增加XX坐标),aia_{i}是移动的距离。

图中展示了机器人在每个方向上的可能移动。 机器人在每一时刻都会清洁其所在的整个区域。换句话说,当某个点在某一时刻属于机器人所在的k×kk \times k的正方形时,该点就被清洁了。

根据给定的机器人移动,计算被清洁的总面积。

输入格式

第一行输入包含两个整数:机器人的大小kk和命令数量nn1k104,1n1051 \leq k \leq 10^4, 1 \leq n \leq 10^5)。

接下来的nn行中,每行包含一个方向did_{i}和一个距离aia_{i}did_{i}NNSSWWEE1ai1091 \leq a_{i} \leq 10^9)。

输出格式

输出被机器人清洁的总面积。

样例11

输入

151 5

E2E 2

N2N 2

W4W 4

S4S 4

E4E 4

输出

1717

样例22

输入

343 4

W2W 2

N1N 1

W1W 1

N2N 2

输出

2727

下面是根据题目中的样例,机器人移动过程中访问过的格子被阴影标出。

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制 子任务依赖
11 99 k=1,n10,ai10k=1, n \leq 10, a_{i} \leq 10
22 1010 k10,n10,ai100k \leq 10, n \leq 10, a_{i} \leq 100 11
33 1111 k1000,n1000,ai=1k \leq 1000, n \leq 1000, a_{i}=1
44 88 k104,n105,ai=kk \leq 10^4, n \leq 10^5, a_{i}=k
55 1414 k=1,n1000,ai109k=1, n \leq 1000, a_{i} \leq 10^9 11
66 1515 k104,n1000,ai109k \leq 10^4, n \leq 1000, a_{i} \leq 10^9 13,51\sim 3,5
77 1616 k=1,n105,ai109k=1, n \leq 10^5, a_{i} \leq 10^9 1,51,5
88 1717 k104,n105,ai109k \leq 10^4, n \leq 10^5, a_{i} \leq 10^9 171\sim 7