본문 바로가기
C

[C]백준 09.기본수학2: 1085

by 열지희공 2022. 1. 15.

백준 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