- 흰색 판 위의 좌표들은 모두 행+열의 값이 짝수입니다.
- 검은 판 위의 좌표들은 모두 행+열의 값이 홀수입니다.
(a+b)와 (c+d)가 둘 다 홀수, 혹은 둘 다 짝수라면 (a,b)에서 (c,d)로 이동할 수 있다
는 결론을 도출할 수 있습니다.(a+b)와 (c+d)가 둘 다 홀수, 혹은 둘 다 짝수라면 (a,b)에서 (c,d)로 이동할 수 있다
는 조건만으로 문제를 해결할 수 없습니다. 다음의 두 경우를 살펴보겠습니다.N 또는 M의 값이 1이 되면 비숍은 이동할 수 없습니다. (a+b)와 (c+d)가 둘 다 홀수, 혹은 둘 다 짝수
라도 (a,b)에서 (c,d)로 이동할 수 없습니다.
즉 (a,b)와 (c,d)가 동일한 좌표인 경우
와N또는 M이 1인 경우
를 예외적으로 처리한 후(a+b)와 (c+d)가 둘 다 홀수, 혹은 둘 다 짝수라면 (a,b)에서 (c,d)로 이동할 수 있다
라는 아이디어를 적용시켜야 합니다.
N,M = list(map(int,input().split(' ')))
a,b = list(map(int,input().split(' ')))
c,d = list(map(int,input().split(' ')))
#시작점과 도착점이 일치하면 반드시 이동이 가능합니다
if min(a,b) == min(c,d) and max(a,b) == max(c,d):
print("YES")
#가로 또는 세로가 1이면 이동이 불가능 합니다
elif min(N,M) == 1:
print("NO")
#위 두 가지 경우를 아닐 때 (a,b)와 (c,d)가 같은 색 위에 있는지를 판단합니다
elif (a+b)%2 == (c+d)%2: # 2로 나눈 나머지가 0이면 짝수, 2로 나눈 나머지가 1이면 홀수입니다
print("YES")
else:
print("NO")