백준 1085번 직사각형에서 탈출 | [BACKJOON/Python / 1085]

문제링크

 

1085번: 직사각형에서 탈출

한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램

www.acmicpc.net

 

문제

한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.


 

입력

첫째 줄에 x, y, w, h가 주어진다.

출력

첫째 줄에 문제의 정답을 출력한다.
 

제한

  • 1 ≤ w, h ≤ 1,000
  • 1 ≤ x ≤ w-1
  • 1 ≤ y ≤ h-1
  • x, y, w, h는 정수

예제입력

6 2 10 3

예제출력

1

예제입력2

1 1 5 5

예제출력2

1

예제입력3

653 375 1000 1000

예제출력3

347

 

풀이

예제 입력에서 현재 위치=(x,y) 오른쪽위 꼭짓점 (w,h)가 주어집니다.

현재의 x,y 위치에서 직사각형의 오른쪽위 경계선까지의 거리, w-x, h-y왼쪽 아래 경계선까지의 거리 x,y를 비교하여 최솟값을 구하면 됩니다.

import sys
x,y,w,h = map(int,sys.stdin.readline().rstrip().split())
print(min(x,y,w-x,h-y)) #min 함수로 최솟값을 구함

 

 

 

Top