아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

십자 타일에서의 거리

시간 제한2초메모리 제한512 MB

요약
십자 타일로 평면을 덮고 다른 십자로 넘어갈 때마다 동전 1개를 내야 할 때, 두 정사각형 사이의 최소 동전 수를 구한다.
난이도

어려움10점 중 8점

유형
수학, 기하, 최단 경로, 구현
정답자
아직 제출이 없습니다

문제

평면이 한 변의 길이가 11인 정사각형들로 나뉘어 있다. 어떤 정사각형 하나를 골라 그 중심에서 변에 평행하게 좌표축을 그리자.

다음으로, 그 정사각형과 변을 공유하는 네 이웃 정사각형을 합친 십자를 그린다. 이제 중심이 (2,1)(2, 1)인 정사각형을 골라, 이 정사각형과 그 네 이웃으로 이루어진 십자를 하나 더 그린다. 이런 십자들로 평면 전체를 타일링한다. 십자의 중심은 모든 정수 i,ji, j에 대해 좌표가 (2i+j,i−2j)(2 i + j, i - 2 j)인 점들에 놓인다. 이 타일링은 예제 옆의 그림에 나와 있다.

에밀리아는 평면의 어떤 정사각형 중심에 서 있다. 한 걸음에 그녀는 정사각형에서 이웃 정사각형 중 하나로 이동할 수 있다. 걸음이 그녀를 타일링의 다른 십자로 옮긴다면, 그 걸음에 대해 동전 한 니을 내야 한다. 같은 십자 안에 머무르는 걸음은 무료이다.

두 정사각형 AA와 BB 사이의 십자 거리는 에밀리아가 AA에서 BB로 가기 위해 내야 하는 동전 수의 최솟값이다. 평면 위의 두 점, 즉 출발 정사각형의 중심과 도착 정사각형의 중심 좌표가 주어진다. 두 점 사이의 십자 거리를 구하라.

입력

첫째 줄에 출발 정사각형의 좌표 x_1x\_1과 y_1y\_1이 주어진다. 둘째 줄에 도착 정사각형의 좌표 x_2x\_2와 y_2y\_2가 주어진다. 주어지는 모든 좌표의 절댓값은 10910^{9}을 넘지 않는다.

출력

출발 정사각형에서 도착 정사각형까지의 십자 거리를 정수 하나로 출력한다.

예제3

  1. 예제 1

    입력
    1 1
    2 2
    
    예상 출력
    0
    
  2. 예제 2

    입력
    3 4
    -2 0
    
    예상 출력
    4
    
  3. 예제 3

    입력
    4 3
    0 -2
    
    예상 출력
    3