Page not loading? Try clicking here.
Placeholder

#4691

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

Problems

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

장기판의 크기(H,  W)가 주어지고 현재 말의 위치 (kr, kc)가 주어질 때, 

장기판의 각 칸에 최소 몇번 만에 도착하는지

구하는 프로그램을 작성하시오.

 


Input

첫 행에 장기판의 높이 H와 너비 W가 공백으로 구분되어 주어진다.

두 번재 행에 말의 현재 행위치 kr과 열 위치 kc가 주어진다.

 

[입력 범위]

1 <= H, W <= 1,000

1 <= kr <= H

1 <= kc <= W


Output

말(knight)이 (kr, kr)에서 출발하여 장기판의 각 칸에

도달하는 최소 시간을 출력한다.

도달할 수 없는 경우 -1을 출력한다.

 

 


Example

3 3

1 1
0 3 2

3 -1 1
2 1 4

Source

comkiwer
You must sign in to write code.