백준 - 단계별로 풀어보기 [1085]
https://www.acmicpc.net/problem/1085
1085번: 직사각형에서 탈출
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램
www.acmicpc.net

높이 h, 길이 w의 직사각형이 주어질 경우, 이 직사각형 내부 임의의 점에서 경계선까지 최솟값을 구하는 문제입니다.
풀이
임의의 점 (x,y)에서 왼쪽, 오른쪽, 위, 아래, 즉 4개의 값중 가장 작은값을 구해주면 됩니다.
결과적으로
1. x
2. y
3. 임의의점 x부터 w까지 거리
4. 임의의점 y부터 h까지 거리
중 최소값을 구하면 됩니다.
Code
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int x, y, width, height;
    int min_num1, min_num2;
    cin >> x >> y >> width >> height;
    min_num1 = min(x, y);
    min_num2 = min(width - x, height - y);
    cout << min(min_num1, min_num2);
}
'└ Baekjoon' 카테고리의 다른 글
| [백준 / BOJ] C++ 2580 스도쿠 (0) | 2022.08.02 | 
|---|---|
| [백준 / BOJ] C++ 3053 택시 기하학 (0) | 2022.07.20 | 
| [백준 / BOJ] C++ 2477 참외밭 (0) | 2022.07.18 | 
| [백준 / BOJ] C++ 4153 직각삼각형 (0) | 2022.07.14 | 
| [백준 / BOJ] C++ 3009 네번째 점 (0) | 2022.07.14 | 
![[백준 / BOJ] C++ 1085 직사각형에서 탈출](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fbyotgt%2FbtrHaXhX2SF%2FAAAAAAAAAAAAAAAAAAAAAGcER69Sp4DchRnd8NMnZYY3YnXbf6ZEqMoZxiIuzgWx%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3Dgr49DZwVTxm9xHBnYRI240QlaAw%253D)