룩 (Rook) 1초 32MB
문제
체스의 Rook은 한 번의 이동에 상하좌우 중 한 방향으로 원하는 칸만큼 움직일 수 있다. Rook은 이동할 때 다른 기물이 있는 칸을 넘을 수 없으며, 자신의 기물을 잡고 그 칸으로 이동하거나 뛰어넘을 수 없다. 만약 Rook의 목적지에 상대의 기물이 있는 경우, 상대의 기물을 잡고 그 칸으로 이동할 수 있다.
따라서, 가장 왼쪽 아래에 있는 칸이
(0,0) 이고, 가장 오른쪽 위에 있는 칸이(10^{8}-1, 10^{8}-1) 이다.모든 기물은 이동 전과 후 모두 체스판 내부의 격자점에 위치해야 한다.
정올이는
Pawn A와 Pawn B가 이동하지 않고 위치가 고정될 때, Rook을 최소 몇 번 이동시켜야 Pawn A를 잡을 수 있을지 출력하는 프로그램을 작성하시오.
Rook, Pawn A, Pawn B의 위치는 서로 겹치지 않고, Rook의 위치
(0,0) 은 체스판 내에서 가장 왼쪽 아래에 있는 칸에 해당한다.
입력
입력에서 모든 위치는 "행 열"과 같은 형식으로 주어진다.
첫 번째 줄에는 Pawn A의 위치
0 \leq a, b, x, y \lt 10^{8} (0, 0) \ne (a, b) (a, b) \ne (x, y) (x, y) \ne (0, 0) a, b, x, y 는 모두 정수이다.
출력
Rook이 Pawn A를 잡기 위해 이동해야 하는 최소 이동 횟수를 출력하시오.
예제 #1
1 1
2 2
2
예제 #2
0 2
3 7
1