십자 타일에서의 거리
시간 제한2초메모리 제한512 MB
십자 타일로 평면을 덮고 다른 십자로 넘어갈 때마다 동전 1개를 내야 할 때, 두 정사각형 사이의 최소 동전 수를 구한다.
문제
평면이 한 변의 길이가 인 정사각형들로 나뉘어 있다. 어떤 정사각형 하나를 골라 그 중심에서 변에 평행하게 좌표축을 그리자.
다음으로, 그 정사각형과 변을 공유하는 네 이웃 정사각형을 합친 십자를 그린다. 이제 중심이 인 정사각형을 골라, 이 정사각형과 그 네 이웃으로 이루어진 십자를 하나 더 그린다. 이런 십자들로 평면 전체를 타일링한다. 십자의 중심은 모든 정수 에 대해 좌표가 인 점들에 놓인다. 이 타일링은 예제 옆의 그림에 나와 있다.
에밀리아는 평면의 어떤 정사각형 중심에 서 있다. 한 걸음에 그녀는 정사각형에서 이웃 정사각형 중 하나로 이동할 수 있다. 걸음이 그녀를 타일링의 다른 십자로 옮긴다면, 그 걸음에 대해 동전 한 니을 내야 한다. 같은 십자 안에 머무르는 걸음은 무료이다.
두 정사각형 와 사이의 십자 거리는 에밀리아가 에서 로 가기 위해 내야 하는 동전 수의 최솟값이다. 평면 위의 두 점, 즉 출발 정사각형의 중심과 도착 정사각형의 중심 좌표가 주어진다. 두 점 사이의 십자 거리를 구하라.
입력
첫째 줄에 출발 정사각형의 좌표 과 이 주어진다. 둘째 줄에 도착 정사각형의 좌표 와 가 주어진다. 주어지는 모든 좌표의 절댓값은 을 넘지 않는다.
출력
출발 정사각형에서 도착 정사각형까지의 십자 거리를 정수 하나로 출력한다.