문제
https://www.acmicpc.net/problem/1085
문제는 위 사이트를 참고해주세요.
풀이
x, y, w, h = list(map(int, input().split()))
ans = min([x, y, w-x, h-y])
print(ans)
처음 문제를 풀때는 두 좌표의 거리를 구하는 공식을 사용해 푸려고 했는데
그림 그리면서 생각해보니까 그럴 필요가 없었습니다.
만약 이렇게 8, 5의 직사각형이 있고 x, y가 5, 4라고 가정했을 때
직사각형의 경계면에 닿으려면 직선거리로만 움직이면 됩니다.
그랬을때 나올 수 있는 값은 x-0, 8-x, y-0, 5-y입니다.
그렇기 때문에 x, y, w-x, h-y에서 최소값을 찾으면 그게 답이됩니다.
결과
'IT > 알고리즘' 카테고리의 다른 글
1일 N알고리즘 - #27 (0) | 2020.05.25 |
---|---|
1일 N알고리즘 - #26 (0) | 2020.05.25 |
1일 N알고리즘 - #24 (0) | 2020.05.24 |
1일 N알고리즘 - #23 (0) | 2020.05.22 |
1일 N알고리즘 - #22 (0) | 2020.05.22 |
댓글