기사의 마라톤

아주 큰 직사각형 체스판에서 시작 칸에서 목표 칸까지 나이트가 판을 벗어나지 않고 이동하는 최소 횟수를 구한다.

어려움8수학BFS그리디기하아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

길고 긴 전투 끝에 침공군이 물러났다. 왕은 살아남은 단 한 명의 기사를 수도로 보내 승리를 알리려 한다. 아주 먼 여정이 될지도 모른다.

기사는 체스판의 나이트처럼 움직인다. 한 번 움직일 때 동서남북 네 방향 중 하나로 두 칸 간 다음, 그 방향과 직각으로 한 칸 더 간다. 여정 내내 기사는 새로운 전쟁을 일으키지 않도록 왕국 안에 머물러야 한다. 왕국은 NX×NYNX \times NY 크기의 직사각형 격자이고, 전투가 벌어진 8×88 \times 8 판보다 훨씬 클 수도 있다. 행과 열의 번호는 0부터 매긴다. 기사는 칸 (KX,KY)(KX, KY)에서 출발해 수도인 칸 (CX,CY)(CX, CY)까지 가야 한다. 기사가 수도에 도착하는 데 필요한 최소 이동 횟수를 구한다.

나이트가 한 번에 갈 수 있는 칸

그림 1: 기사가 한 번에 갈 수 있는 칸.

입력

입력은 세 줄이고, 각 줄에 정수가 두 개씩 주어진다.

  • 첫째 줄에는 왕국의 크기 NXNX, NYNY가 주어진다. (8NX,NY1098 \le NX, NY \le 10^9)
  • 둘째 줄에는 기사의 출발 위치 KXKX, KYKY가 주어진다. (0KX<NX0 \le KX < NX, 0KY<NY0 \le KY < NY)
  • 셋째 줄에는 수도의 위치 CXCX, CYCY가 주어진다. (0CX<NX0 \le CX < NX, 0CY<NY0 \le CY < NY)

출력

기사가 수도까지 가는 데 필요한 최소 이동 횟수를 한 줄에 출력한다.