현명한 나이트
면접 대비시간 제한1초메모리 제한256 MB
N×N 체스판에서 나이트의 시작 위치가 주어질 때, M개의 목표 칸 각각에 도달하는 최소 나이트 이동 횟수를 구한다.
문제
크기 체스판의 특정한 위치에 나이트 하나가 있다. 개의 상대편 말의 위치가 주어질 때, 각 상대편 말을 잡기 위한 나이트의 최소 이동 수를 계산하는 프로그램을 작성하시오.
나이트는 일반적인 체스에서와 동일하게 이동한다. 현재 나이트의 위치가 일 때, 나이트는 다음 8개 위치 중 하나로 이동한다.
, , , , , , ,
일 때 나이트가 에 있다면 이동 가능한 위치는 다음과 같다. 나이트가 있는 위치는 K, 이동 가능한 위치는 노란색으로 나타냈다.

예를 들어 , 이고 나이트가 에 있다고 하자. 상대편 말의 위치가 차례대로 , , 라면 각 상대편 말을 잡기 위한 최소 이동 수는 차례대로 1, 2, 1이 된다. 아래 그림에서 상대편 말의 위치는 E로 나타냈다. 이 문제에서 위치는 (행,열) 형태로 나타낸다.

입력
첫째 줄에 과 이 공백을 기준으로 구분되어 자연수로 주어진다. (, ) 둘째 줄에 나이트의 위치 를 나타내는 와 가 공백을 기준으로 구분되어 자연수로 주어진다. () 셋째 줄부터 개의 줄에 걸쳐 각 상대편 말의 위치 를 나타내는 와 가 공백을 기준으로 구분되어 자연수로 주어진다. ()
입력으로 주어지는 모든 말의 위치는 중복되지 않으며, 나이트가 도달할 수 있는 위치로만 주어진다.
출력
첫째 줄에 각 상대편 말을 잡기 위한 최소 이동 수를 공백을 기준으로 구분하여 출력한다.
출력할 때는 입력에서 상대편 말 정보가 주어진 순서에 맞게 차례대로 출력한다.