한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
한 점에서 직사각형의 한 변까지의 최소 거리를 구하여라
최소 거리는 각 축에 대해 수직으로 선을 그었을 때만 성립한다. 즉, (x, y)에서 x축과 y축, w와 h쪽으로 모두 수직으로 거리를 측정하고 가장 짧은 길이를 가져오면 된다.
if __name__ == '__main__':
x, y, w, h = map(int, input().split())
x_to_zero = x
y_to_zero = y
x_to_w = w - x
y_to_h = h - y
print(min(x_to_zero, y_to_zero, x_to_w, y_to_h))
수학을 이해하고 있다면 쉽게 풀 수 있는 문제다.