문제 이름 : 앵그리 창영
문제 번호 : 3034
사용 언어 : C
문제 유형 : 구현
문제는 다음과 같다.
문제를 풀어보도록 하자.
이번 문제 풀이에서 중요한 아이디어는, 상자 바닥에 대각선으로 들어가도 인정해 준다는 것이다.
계산을 쉽게하기 위해 math.h의 sqrt() 함수를 사용하도록 하자.(제곱근값을 반환하는 함수이다.)
따라서 다음과 같은 코드가 나온다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main() {
int n, w, h, s;
scanf("%d", &n);
scanf("%d", &w);
scanf("%d", &h);
for (int i = 0; i < n; i++){
scanf("%d", &s);
if (s <= w || s <= h) #가로와 세로에 맞는지
printf("DA\n");
else if (s <= sqrt((w*w)+(h*h))) #대각선이 맞는지
printf("DA\n");
else printf("NE\n");
}
return 0;
}
'코딩 > 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 저항(1076번) C로풀기 (0) | 2020.02.05 |
---|---|
[백준 알고리즘] 플러그(2010번) C로풀기 (0) | 2020.02.03 |
[백준 알고리즘] 방 번호(1475번) C로풀기 (0) | 2020.02.01 |
[백준 알고리즘] 색종이(2563번) C로풀기 (0) | 2020.01.30 |
[백준 알고리즘] 설탕 배달(2839번) C로풀기 (0) | 2020.01.29 |