문제
장기의 말(knight)은 아래 그림과 같이 이동한다.

장기판의 크기(H, W)가 주어지고 현재 말의 위치 (kr, kc)가 주어질 때,
장기판의 각 칸에 최소 몇번 만에 도착하는지
구하는 프로그램을 작성하시오.
입력
첫 행에 장기판의 높이 H와 너비 W가 공백으로 구분되어 주어진다.
두 번재 행에 말의 현재 행위치 kr과 열 위치 kc가 주어진다.
[입력 범위]
1 <= H, W <= 1,000
1 <= kr <= H
1 <= kc <= W
출력
말(knight)이 (kr, kr)에서 출발하여 장기판의 각 칸에
도달하는 최소 시간을 출력한다.
도달할 수 없는 경우 -1을 출력한다.
예제
3 3
1 1
0 3 2
3 -1 1
2 1 4
출처
comkiwer