백준 1085
내코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int x, y, w, h;
scanf("%d %d %d %d", &x, &y, &w, &h);
int min;
min = x < y ? x : y;
min = min < w - x ? min : w - x;
min = min < h - y ? min : h - y;
printf("%d", min);
return 0;
}
현 위치 (x,y)에서 직사각형의 경계값으로 가는 방법은 각 변까지 수직으로 가는 4가지가 있다. (대각선으로 이동하여 꼭짓점으로 이동하는 방법 각 변에 수직으로 이동하는 것보다 거리가 더 크므로 제외했다.) 따라서 이 4가지 방법 중 가장 작은 거리를 갖는 것을 구하면 된다. 각 변까지 가는 거리는 x, w-x, y, h-y 4가지가 가능하므로 4가지 중 최소값을 구하기 위해 삼항연산자를 사용했다.
'C' 카테고리의 다른 글
[C]백준 09.기본수학2: 4153 (0) | 2022.01.15 |
---|---|
[C]백준 09.기본수학2: 3009 (0) | 2022.01.15 |
[C]백준 09.기본수학2: 9020 (0) | 2022.01.15 |
[C]백준 09.기본수학2: 4948 (0) | 2022.01.15 |
[C]백준 09.기본수학2: 1929 (0) | 2022.01.15 |