BAEKJOON/수학
백준 8674번 [Tabliczka](C++) -yes6686- 티스토리
yes6686
2024. 8. 10. 17:55
728x90
반응형
SMALL
백준 문제 풀이: 8674 [Tabliczka]
문제 링크: https://www.acmicpc.net/problem/8674
문제 설명:
두 정수 a
와 b
가 주어집니다. 직사각형 격자 a×b
에서 홀수 크기의 격자를 만들 수 있는 경우, 그 크기는 min(a, b)
입니다. 하지만 a
또는 b
중 하나가 짝수라면, 홀수 크기의 격자는 만들 수 없습니다. 이 경우 결과는 0
입니다.
문제 해결 코드
// 백준 8674 - Tabliczka
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
long long int a, b;
cin >> a >> b; // 두 정수 입력
// 하나라도 짝수라면 결과는 0
if (a % 2 == 0 || b % 2 == 0) {
cout << 0 << '\n';
} else {
// 둘 다 홀수라면 결과는 min(a, b)
cout << min(a, b) << '\n';
}
return 0;
}
코드 설명
코드의 주요 로직과 사용된 알고리즘 설명.
- 핵심 알고리즘:
- 두 수 중 하나라도 짝수일 경우, 홀수 크기의 격자를 만들 수 없으므로 결과는
0
입니다. - 두 수가 모두 홀수일 경우, 가능한 최대 크기의 홀수 격자는
min(a, b)
입니다.
- 두 수 중 하나라도 짝수일 경우, 홀수 크기의 격자를 만들 수 없으므로 결과는
- 구현 세부사항:
- 짝수 여부를 확인하기 위해
a % 2 == 0
와b % 2 == 0
조건을 사용합니다. - 두 수가 모두 홀수일 때,
min(a, b)
를 사용하여 최소값을 구합니다.
- 짝수 여부를 확인하기 위해
- 시간 복잡도 분석:
- 조건 확인과 최소값 계산은 O(1)입니다.
- 총 시간 복잡도: O(1).
결과
제출 시, 모든 테스트 케이스에 대해 올바른 결과를 출력합니다.
다른 접근 방식이나 개선 사항이 있다면 댓글로 공유 부탁드립니다!
728x90
반응형
LIST