728x90
반응형
SMALL
백준 문제 풀이: 27245 [Комната]
문제 링크: https://www.acmicpc.net/problem/27245
문제 설명:
어느 건축물의 너비(w
), 길이(l
), 높이(h
)가 주어질 때, 이 건축물이 미래 감성의 "드림펑크 스타일"인지 판별해야 합니다. 조건은 아래와 같습니다.
- 작은 변(min(w, l))이 높이의 두 배 이상이어야 한다.
- 큰 변(max(w, l))이 작은 변의 두 배 이하이어야 한다.
두 조건을 모두 만족하면 good
, 하나라도 만족하지 않으면 bad
를 출력합니다.
문제 해결 코드
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int w, l, h;
cin >> w >> l >> h;
int minDim = min(w, l); // 너비와 길이 중 작은 값
int maxDim = max(w, l); // 너비와 길이 중 큰 값
// 조건 판별
if ((minDim >= 2 * h) && (maxDim <= 2 * minDim))
cout << "good" << "\n";
else
cout << "bad" << "\n";
}
코드 설명
- 핵심 조건 판단: 드림펑크 스타일은 건축물의 균형 잡힌 크기를 요구합니다.
- 조건 1: min(w, l) ≥ 2 × h → 높이 대비 충분한 너비/길이 확보.
- 조건 2: max(w, l) ≤ 2 × min(w, l) → 좌우 균형 유지.
- 두 조건이 모두 만족될 때만
good
을 출력합니다.
시간 복잡도 분석:
- 입력과 조건 비교 모두 O(1)입니다. 매우 빠르게 처리됩니다.
결과
예시 입력:
입력:
20 40 10
출력:
good
min(20, 40) = 20 ≥ 20 (조건 1 만족), max(20, 40) = 40 ≤ 40 (조건 2 만족)
→ 결과는 good
출력.
다른 아이디어나 조건 확장도 댓글로 환영합니다 :)
728x90
반응형
LIST
'BAEKJOON > 수학' 카테고리의 다른 글
백준 2547번 [사탕 선생 고창영](C++) -yes6686- 티스토리 (0) | 2025.05.21 |
---|---|
백준 32776번 [가희와 4시간의 벽 2](C++) -yes6686- 티스토리 (0) | 2025.04.30 |
백준 32642번 [당구 좀 치자 제발](C++) -yes6686- 티스토리 (0) | 2025.04.07 |
백준 32651번 [인간은 무엇인가](C++) -yes6686- 티스토리 (0) | 2025.04.03 |
백준 32684번 [장기](C++) -yes6686- 티스토리 (0) | 2025.04.02 |