반응형
https://www.acmicpc.net/problem/1085
1085번: 직사각형에서 탈출
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램
www.acmicpc.net
x, y 값이 주어지고
0, 0 부터 w, h까지의 직사각형의 값이 주어집니다.
이때 x, y 가 이 직사각형을 탈출하는 거리의 최솟값을 구하면 됩니다.
이문제는 간단하게
x , y , w-x , h-y 중 가장 작은 값을 찾아내면 됩니다.
이유는 차이가 큰 값은 그 위치에서 고정하고 한쪽 위치로만 이동하면 되기 때문에
차이가 작은 값 중 0 또는 w, h 에서 가장 가까운 곳으로 가면 됩니다.


처음에는 모서리로 가야 하는 줄 알고 모서리로 가는 방식을 코드로 구현했는데.
문제를 다시 읽어보니 직사각형으로 탈출만 하면 되는 거였습니다.
x, y, w, h = map(int, input().split(" "))
print(min([x, y, w - x, h - y]))반응형
'알고리즘 > Solved_Bronze' 카테고리의 다른 글
| [Python Bronze I 11050] 이항 계수 1 (0) | 2023.04.06 |
|---|---|
| [Python Bronze II 2798] 블랙잭 (0) | 2023.03.26 |
| [Python Bronze II 2231] 분해합 (0) | 2023.03.23 |
| [Python Bronze I 1259] 팰린드롬수 (2) | 2023.03.23 |
| [Python Bronze V 2292] (0) | 2023.03.16 |