1085. 직사각형에서 탈출 (누르면 해당 문제로 이동)
직사각형과 점의 거리를 구하는 문제
제약사항)
시간 : 2 초
메모리 : 128 MB
문제)
한수는 지금 (x, y)에 있다.
직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다.
직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
입력)
첫째 줄에 x y w h가 주어진다.
w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고,
y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다.
출력)
첫째 줄에 문제의 정답을 출력한다.
입출력 예제
입력 | 출력 |
6 2 10 3 | 1 |
풀이 순서)
1. 입력 조건에 따르면 (x, y)는 사각형 내부에 있음을 알 수 있습니다.
2. (x, y) 에서 상하좌우 거리를 확인해 최솟값을 찾으면 됩니다.
소스코드 및 결과 (C)
#include <stdio.h>
int minFinder(int *arr, int size) {
int i, minV = arr[0];
for (i = 0; i < size; i++)
if (arr[i] < minV)
minV = arr[i];
return minV;
}
int main() {
int w, h;
int array[4];
scanf("%d %d %d %d", &array[0], &array[1], &w, &h);
array[2] = w - array[0];
array[3] = h - array[1];
printf("%d\n", minFinder(array, 4));
return 0;
}
메모리 : 1112 KB
시간 : 0 ms
코드길이 : 364 B
'[C언어] 백준온라인 > * 수학 2' 카테고리의 다른 글
[C 언어] 백준 4153. 직각삼각형 (0) | 2020.01.15 |
---|---|
[C 언어] 백준 3009. 네 번째 점 (0) | 2020.01.15 |
[C 언어] 백준 9020. 골드바흐의 추측 (0) | 2020.01.15 |
[C 언어] 백준 4948. 베르트랑 공준 (0) | 2020.01.15 |
[C 언어] 백준 1929. 소수 구하기 (0) | 2020.01.15 |