엇갈린 발판
\(N\times M\) 크기의 격자에 발판이 놓여 있다. 각 발판에는 양의 정수가 하나씩 적혀 있다.
한 발판에서는 상하좌우와 네 대각선을 포함하여 주변에 있는 최대 여덟 개의 발판 중 하나로 이동할 수 있다. 단, 현재 발판에 적힌 수에 따라 다음과 같은 이동 조건이 적용된다.
- 현재 발판에 홀수가 적혀 있다면 짝수가 적힌 발판으로만 이동할 수 있다.
- 현재 발판에 짝수가 적혀 있다면 홀수가 적힌 발판으로만 이동할 수 있다.
즉, 한 번 이동할 때마다 현재 발판과 홀짝이 다른 발판으로 이동해야 한다.
시작 발판에서 출발하여 도착 발판에 도달할 수 있는지 구하여라. 시작 발판과 도착 발판이 같다면 이동하지 않고 도착한 것으로 본다.
입력
첫째 줄에 격자의 행의 수 \(N\)과 열의 수 \(M\)이 공백으로 구분되어 주어진다.
다음 \(N\)개의 줄에 걸쳐 각 발판에 적힌 양의 정수가 주어진다. \(i\)번째 줄의 \(j\)번째 정수 \(A_{i,j}\)는 \(i\)행 \(j\)열의 발판에 적힌 수를 뜻한다.
마지막 줄에 네 정수 \(S_R\), \(S_C\), \(E_R\), \(E_C\)가 공백으로 구분되어 주어진다. 각각 시작 발판의 행과 열, 도착 발판의 행과 열을 뜻한다.
- \(1\le N,M\le1,000\)
- \(1\le A_{i,j}\le1,000,000,000\)
- \(1\le S_R,E_R\le N\)
- \(1\le S_C,E_C\le M\)
격자의 행과 열은 각각 위에서부터, 왼쪽부터 \(1\)번으로 시작한다.
출력
시작 발판에서 도착 발판까지 이동할 수 있으면 YES, 이동할 수 없으면 NO를 출력한다.
예제 입력 1
3 4
1 2 8 7
6 5 4 3
9 8 7 2
1 1 3 4
예제 출력 1
YES
예제 설명 1
다음과 같은 순서로 이동할 수 있다.
\((1,1)\rightarrow(1,2)\rightarrow(2,2)\rightarrow(2,3)\rightarrow(3,3)\rightarrow(3,4)\)
이동할 때마다 홀수와 짝수가 번갈아 나타난다.
예제 입력 2
3 3
1 3 5
7 9 11
13 15 17
1 1 3 3
예제 출력 2
NO
모든 발판에 홀수가 적혀 있으므로 시작 발판에서 다른 발판으로 이동할 수 없다.
코멘트