제식 훈련 2
시간 제한2초메모리 제한1024 MB
N×M 격자에 동서남북 방향이 주어질 때, 각 행의 동서와 각 열의 남북이 조건을 만족하도록 바꿔야 하는 칸 수의 최솟값을 구한다.
문제
제식 훈련을 위해 연병장에 총 명의 훈련병이 오와 열을 맞추어 행 열로 배치되어 있다. 는 행 열의 위치를 의미한다 (). 각 훈련병은 동(E), 서(W), 남(S), 북(N) 네 방향 중 하나를 바라보고 있다.
이제 모든 훈련병이 동시에 자신이 바라보는 방향으로 이동하는 훈련을 진행하려고 한다. 이때 훈련병 간의 충돌을 방지하기 위해, 다음 조건들을 반드시 만족해야 한다.
모든 훈련병 에 대해,
- 의 훈련병이 동쪽(E)을 바라본다면, 를 만족하는 모든 정수 에 대해 의 훈련병 또한 동쪽(E)을 바라보아야 한다.
- 의 훈련병이 서쪽(W)을 바라본다면, 를 만족하는 모든 정수 에 대해 의 훈련병 또한 서쪽(W)을 바라보아야 한다.
- 의 훈련병이 남쪽(S)을 바라본다면, 를 만족하는 모든 정수 에 대해 의 훈련병 또한 남쪽(S)을 바라보아야 한다.
- 의 훈련병이 북쪽(N)을 바라본다면, 를 만족하는 모든 정수 에 대해 의 훈련병 또한 북쪽(N)을 바라보아야 한다.
현재 훈련병들의 방향 배치가 주어졌을 때, 조건을 만족시키기 위해 방향을 변경해야 하는 훈련병 수의 최솟값을 구하여라.
입력
첫째 줄에 과 이 공백으로 구분되어 주어진다. ()
다음 개의 줄에 걸쳐 각 행의 훈련병들이 바라보는 방향을 나타내는 개의 문자가 공백 없이 주어진다. 이때 주어지는 문자는 E, W, S, N 중 하나이며, 각각 동쪽, 서쪽, 남쪽, 북쪽을 뜻한다.
출력
첫째 줄에 조건을 만족시키기 위해 방향을 바꿔야 하는 훈련병 수의 최솟값을 출력한다.