페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4691

Knight Move2(나이트의이동) 1s 256MB

문제

장기의 말(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
로그인해야 코드를 작성할 수 있어요.