#P15539. [CCC 2026 J4] Snail Path

[CCC 2026 J4] Snail Path

Description

A snail is crawling across an infinite grid of equally sized squares. It can crawl horizontally (east and west) or vertically (north and south), but it cannot crawl diagonally.

As the snail crawls, it leaves a trail of slime which makes the squares of the grid it touches slimy.

For example, after the snail below crawls east 33 squares, there will be 44 slimy squares as shown.

:::align{center} :::

Given the movements taken by the snail, your job is to determine how many times the snail enters a slimy square.

Input Format

The first line of input contains a positive integer, MM, representing the number of movements taken by the snail.

The next MM lines will specify the snail's movements, in order. Each movement will contain an uppercase directional letter (N\texttt{N}, E\texttt{E}, S\texttt{S}, or W\texttt{W}), followed by a positive integer less than or equal to 2020 representing the number of squares the snail crawls in that direction.

Output Format

Output the non-negative integer, TT, which is the number of times the snail enters a slimy square.

3
S2
N2
S3
4
3
S2
W15
N20
0

Hint

Explanation of Output for Sample Input 1

The diagram shows the snail's path. Whenever the snail enters a slimy square, a numbered circle is placed along the path.

Notice that a single slimy square can be entered multiple times.

Explanation of Output for Sample Input 2

The snail's path will consist of 3838 slimy squares. However, the snail never returns to a square after leaving it, so the snail never enters a slimy square.

The following table shows how the 1515 available marks are distributed:

Marks Description Bound
44 The snail will never crawl north or west of its initial position and will stay close to its initial position. M20M \le 20
33 The snail will stay close to its initial position.
66 The snail may crawl quite far from its initial position. M1200M \le 1200
22 The snail may crawl extremely far from its initial position. M200000M \le 200\,000