백준

[1085번] 직사각형에서 탈출

날아가는기억잡기 2020. 5. 3. 02:22

문제

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

 

입력

첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다.

 

출력

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

 

나의 답

1
2
3
4
5
6
7
8
9
10
11
#include <bits/stdc++.h>
 
using namespace std;
 
int main(void) {
    int x, y, w, h;
    scanf("%d%d%d%d",&x,&y,&w,&h);
    printf("%d",min(w-x,min(x,min(h-y,y))));
    return 0;
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

해설

현수는 문제 조건에 따라 언제나 직사각형 안에 있으므로 4변 중 현수와 가장 가까운 변을 찾아 출력해주면 된다.

'백준' 카테고리의 다른 글

[16431번] 베시와 데이지  (0) 2020.05.03
[9461번] 파도반 수열  (0) 2020.05.03
[2875번] 대회 or 인턴  (0) 2020.05.03
[1629번] 곱셈  (0) 2020.05.03
[1110번] 더하기 사이클  (0) 2020.05.03