백준 문제풀이

1085 번 : 직사각형에서 탈출

하다블 2023. 4. 27. 18:04
반응형

문제는 다음과 같습니다.

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

 

1085번: 직사각형에서 탈출

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

www.acmicpc.net

 

풀이 코드는 다음과 같습니다.

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
	int x,y,w,h;
	cin>>x>>y>>w>>h;
	cout<<min(x,(min(y,min(w-x,h-y))));
}

직사각형을 탈출할 수 있는 최소한의 거리는 각 축으로 가느냐(x축 또는 y축) 아니면 축이 아닌 다른 변으로 가느냐를 정해야 합니다.

따라서 한수의 위치에서

x축이 가까운지(x)

y축이 가까운지(y)

다른 두 변이 더 가까운지(w-x 또는 h-y)

확인하여 그중 가장 짧은 거리를 선택하여 출력하면 됩니다.

반응형