본문 바로가기
IT/알고리즘

1일 N알고리즘 - #25

by Sungjun_ 2020. 5. 25.

문제

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

문제는 위 사이트를 참고해주세요.


풀이

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

댓글