파일 업로드

잔디 깎기

profile
실행 시간 제한메모리 제한
2 초512 MB
📃 해결할 문제

지민은 아파트 관리의 여러 측면에서 매우 믿을 만하지만, 그는 잔디를 시기에 맞게 적절하게 자르는 능력이 부족합니다.

아파트 단지는 그리드로 구성된 정사각형 단위 셀로 구성되어 있습니다. 지민은 t=0t = 0인 시점에 이러한 셀 중 하나에서 시작하여 잔디를 깎아서 처음에는 그것이 잔디가 깎인 유일한 셀이 됩니다. 지민의 남은 잔디 깎는 패턴은 NN개의 구문으로 설명됩니다. 예를 들어, 첫 번째 구문이 "W 10"이라면 지민은 t=1t = 1부터 t=10t = 10까지 (즉, 다음 10시간 동안) 서쪽으로 한 셀씩 움직이며 그 길을 따라 잔디를 깎습니다.

지민의 잔디깎는 작업은 너무 느려서 그가 모든 잔디 깎기 작업을 완료하기 전에 자른 잔디의 일부가 다시 자라날 수 있습니다. tt시간에 잘린 잔디 어떤 부분은 t+xt + x 시간에 다시 나타날 것입니다.

지민은 같은 장소에서 여러번 잔디를 깎을 수 있습니다.하지만 그는 한 번 잔디를 깎은 후, 그 잔디가 다시 자라기 전까지 그곳에 다시 발을 디디지 않습니다. 즉, 지민이 한 장소에서 잔디를 깎은 후 다시 그 장소로 돌아오려면, 최소 xx 시간이 경과해야 함을 나타냅니다.

xx의 최대 가능한 값을 결정하십시오.
 

💻 입력

입력의 첫 번째 줄에는 NN(1N1001 \leq N \leq 100)이 포함됩니다. 나머지 NN 줄의 각 줄에는 지민의 이동이 포함되어 있으며 'D S' 형식을 가지고 있습니다. 여기서 D는 방향을 나타내는 문자(N=북, E=동, S=남, W=서)이고 S는 해당 방향으로 이동하는 스텝의 수(1S101 \leq S \leq 10)를 나타냅니다.

🖨️ 출력

지민이 이미 잔디가 자른 셀에 발을 딛지 않도록 xx의 최대 값을 결정하십시오. 
지민이 한 번 이상 어떤 셀을 방문하지 않는 경우 -1을 출력하십시오.


💻 예제 입력 1
6
N 10
E 2
S 3
W 4
S 5
E 8
🖨️ 예제 출력 1
10

💡 힌트

이 예에서 이전에 시간 7에 밟았던 셀을 시간 17에 밟습니다. 따라서 xx는 최대 10이어야 합니다. 
그렇지 않으면 첫 번째 방문의 잔디가 아직 다시 자라지 않았을 것입니다. 
그는 또한 시간 2에도 방문했던 시간 26의 셀을 밟았습니다. 따라서 xx도 최대 24가 되어야 합니다. 이 두 제약 중 첫 번째 제약 조건이 더 엄격하므로 xx는 최대 10이 될 수 있습니다.


출처: USACO 2016 January Contest, Bronze Problem 3. Mowing the Field