반응형
문제는 다음과 같습니다.
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)
확인하여 그중 가장 짧은 거리를 선택하여 출력하면 됩니다.
반응형
'백준 문제풀이' 카테고리의 다른 글
15894 번 : 수학은 체육과목 입니다 (0) | 2023.04.27 |
---|---|
3009 번 : 네 번째 점 (0) | 2023.04.27 |
2581 번 : 소수 (0) | 2023.04.27 |
9506 번 : 약수들의 합 (0) | 2023.04.26 |
2501 번 : 약수 구하기 (0) | 2023.04.26 |