C언어/백준
1085: 직사각형에서 탈출
road23
2022. 7. 21. 01:48
브론즈 3
https://www.acmicpc.net/problem/1085
-결과
-코드
#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문과 삼항 연산자를 이용해서 풀면 된다.