https://www.acmicpc.net/problem/1085
코드
#include <stdio.h>
int main()
{
int x, y, w, h, xlen, ylen;
scanf("%d %d %d %d", &x, &y, &w, &h);
xlen = x;
ylen = y;
if (w - x < x) xlen = w - x;
if (h - y < y) ylen = h - y;
if (xlen > ylen) printf("%d", ylen);
else printf("%d", xlen);
return 0;
}
코드 설명
x, y와 w, h를 입력받는다. xlen와 ylen을 각각 x와 y로 초기화한다. 아래 그림에서 최소의 길이를 찾기 위해 먼저 x와 w-x, y와 h-y의 길이를 비교해 더 작은 값을 xlen, ylen에 저장한다. 마지막으로 xlen, ylen을 비교해서 더 작은 값을 출력한다.
느낀 점
그림을 그려서 문제를 한 번에 파악하니 금방 풀 수 있었다.
'PS (C, C++)' 카테고리의 다른 글
[백준/C] 1547 공 (0) | 2022.08.22 |
---|---|
[백준/C] 1076 저항 (0) | 2022.08.22 |
[백준/C] 1598 꼬리를 무는 숫자 나열 (0) | 2022.08.22 |
[백준/C] 1159 농구 경기 (0) | 2022.08.21 |
[백준/C] 1032 명령 프롬프트 (0) | 2022.08.20 |