태그:
주어진 좌표에서 직사각형 영역 밖으로 나가는 최소 거리를 출력하는 문제입니다. 먼저 직사각형 영역은 4개의 선형 부등식(직선)으로 이루어져있습니다. 따라서 영역을 탈출하려면 4개의 직선 중 하나를 골라 나가야 합니다. 그런데 어떤 점에서 직선까지의 최소 거리는 점에서 직선에 수선의 발을 내렸을 때 수선의 길이입니다. 문제의 직사각형 영역의 직선들은 모두 x축에 평행하거나 y축에 평행하므로 우리가 그릴 수선도 x축에 평행하거나 y축에 평행합니다. 따라서 점과 직선의 좌표(x좌표 또는 y좌표 중 하나) 차이를 구하면 됩니다. 아래처럼 말이죠.
문제에서 이 중 최소를 구하라고 했으므로 왼쪽으로 나가는 거리(x), 오른쪽으로 나가는 거리(w-x), 아래로 나가는 거리(y), 위로 나가는 거리(h-y) 중 최소값을 구하여 출력하면 됩니다.
소스 코드
언어 | 코드 | 시간 |
---|---|---|
Python 3 | 코드(Github) / 코드(백준) | 2020-03-27 09:38:45 |