알고리즘 연습/수학, 정수론, 기하

[백준 1085] 기본 수학 2 - 직사각형에서 탈출

김세진 2021. 5. 29. 23:49
반응형

문제

한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 x, y, w, h가 주어진다.

출력

첫째 줄에 문제의 정답을 출력한다.

제한

  • 1 ≤ w, h ≤ 1,000
  • 1 ≤ x ≤ w-1
  • 1 ≤ y ≤ h-1
  • x, y, w, h는 정수

예제 입력

6 2 10 3

예제 출력

1

 

풀이

 

직사각형 안 좌표에서 최단 거리를 찾는 문제이다.

 

경계선까지의 거리는 항상 직선 거리가 최단이기 때문에,

 

굳이 대각선으로 이동할 필요가 없으므로

 

좌표에서 4방향 직선거리 중 가장 짧은 것을 출력하면 된다.

 

x,y,w,h = map(int, input().split())
print(min(x,y,w-x,h-y))

 

반응형