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

#2612

[초등부] 2025 KOI 1차대회 대비 파이널 모의고사

룩 (Rook) 1초 32MB

문제

체스의 Rook은 한 번의 이동에 상하좌우 중 한 방향으로 원하는 칸만큼 움직일 수 있다. Rook은 이동할 때 다른 기물이 있는 칸을 넘을 수 없으며, 자신의 기물을 잡고 그 칸으로 이동하거나 뛰어넘을 수 없다. 만약 Rook의 목적지에 상대의 기물이 있는 경우, 상대의 기물을 잡고 그 칸으로 이동할 수 있다.

10^{8}개의 행과 열로 구성된 격자로 이루어진 체스판이 있다. 위치의 형식은 (행, 열)과 같으며, 체스판의 아래쪽에서 i번째 행, 왼쪽에서 j번째 열에 있는 칸의 좌표를 (i - 1, j - 1)로 정의한다.

  • 따라서, 가장 왼쪽 아래에 있는 칸이 (0,0)이고, 가장 오른쪽 위에 있는 칸이 (10^{8}-1, 10^{8}-1)이다.

  • 모든 기물은 이동 전과 후 모두 체스판 내부의 격자점에 위치해야 한다.

정올이는 (0,0)에 위치하는 Rook을 이용해서 (a, b)에 위치한 한글이의 Pawn A를 잡으려 한다. 이때 정올이의 Pawn B가 (x, y)에 위치한다.

Pawn A와 Pawn B가 이동하지 않고 위치가 고정될 때, Rook을 최소 몇 번 이동시켜야 Pawn A를 잡을 수 있을지 출력하는 프로그램을 작성하시오.

  • Rook, Pawn A, Pawn B의 위치는 서로 겹치지 않고, Rook의 위치 (0,0)은 체스판 내에서 가장 왼쪽 아래에 있는 칸에 해당한다.


입력

입력에서 모든 위치는 "행 열"과 같은 형식으로 주어진다.

첫 번째 줄에는 Pawn A의 위치 (a, b)가 주어지고, 두 번째 줄에는 Pawn B의 위치 (x, y)가 각각 공백으로 구분되어 주어진다.

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