1085: 직사각형에서 탈출
2022. 7. 21. 01:48ㆍC언어/백준
브론즈 3
https://www.acmicpc.net/problem/1085
1085번: 직사각형에서 탈출
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램
www.acmicpc.net
-결과
-코드
#include <stdio.h>
int main(void)
{
int x, y, w, h;
scanf("%d %d %d %d", &x, &y, &w, &h);
if(w - x > h - y)
{
if(h - y > x) printf("%d", (x > y) ? y : x);
else if(h - y > y) printf("%d", (y > x) ? x : y);
else printf("%d", h - y);
}
else
{
if(w - x > x) printf("%d", (x > y) ? y : x);
else if(w - x > y) printf("%d", (y > x) ? x : y);
else printf("%d", w - x);
}
return 0;
}
-풀이
먼저 현재 위치인 x,y와 오른쪽 윗 꼭짓점인 w,h를 입력받는다.
문제의 조건을 읽어보면 점 (x,y)가 직사각형 내부에 존재하는 것을 알 수 있고, 그렇기 때문에 w-x, h-y, x, y 중 어떤 게 가장 작은 것인지 구해야 한다. if문과 삼항 연산자를 이용해서 풀면 된다.
'C언어 > 백준' 카테고리의 다른 글
1145: 적어도 대부분의 배수 (0) | 2022.07.25 |
---|---|
1100: 하얀 칸 (0) | 2022.07.21 |
2163: 초콜릿 자르기 (0) | 2022.07.15 |
2775: 부녀회장이 될테야 (0) | 2022.07.15 |
2442: 별 찍기 -5 (0) | 2022.07.09 |