본문 바로가기
백준 알고리즘(BOJ)

백준 알고리즘 1085 (직사각형에서 탈출) - python

by Think_why 2019. 10. 16.

[문제] 백준 알고리즘 1085 (직사각형에서 탈출)

https://www.acmicpc.net/problem/1085

 

1085번: 직사각형에서 탈출

첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다.

www.acmicpc.net

 

(0, 0), (w, 0), (0, h), (w, h)의 직사각형 모양 안에 있는 (x,y)에서 가장 가까운 모서리에

도달하는 최단거리를 구하는 문제이다. 

 

고려해야할 사항은 2가지 이다.

1. (축에 가까운 모서리 또는 축에 먼 모서리) 중에서 가까운 곳으로 이동

2. (x 방향 이동 또는 y 방향 이동) 중에서 가까운 곳으로 이동

그래서 축 별로 이동 최소값을 구한 후에, x축과 y축 이동 후보 중에 최소값을 구헀다.

 

[Code]

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

댓글