(2022-04-13 수정)
※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 24927번 문제인 Is It Even?이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/24927
24927번: Is It Even?
You are a leading programmer at CompanyTM, and have been given the following task. Given a list of $N$ integers $x_1, \dots ,x_N$, is their product $x_1⋅x_2⋅ \dots ⋅x_N$ even? You plug away at the problem using every trick in the book, and come u
www.acmicpc.net
문제 지문의 "2K"는 2^K이 잘못 옮겨진 것이다. 실제 2K로 문제를 해결하려고 시도할 경우 0으로 숫자를 나누는 등 이상한 상황이 발생하는 것을 확인할 수 있다. 주의하여 문제를 해결하자. 지금은 수정되었다.
각 x1, x2, ... , xN이 소인수 2를 얼마나 가지고 있는지를 합하여 K와 비교하는 것으로 문제를 해결할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int N, K; cin >> N >> K;
while (N--) {
int cur; cin >> cur;
while ((cur & 1) == 0) {
K--;
cur >>= 1;
}
}
if (K > 0) cout << 0 << '\n';
else cout << 1 << '\n';
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 24936 // C++] Trip Odometer (0) | 2022.04.04 |
---|---|
[BOJ 24835 // C++] 1-Trees and Queries (0) | 2022.04.03 |
[BOJ 24833 // C++] Air Conditioner (0) | 2022.04.01 |
[BOJ 24834 // C++] Shortest and Longest LIS (0) | 2022.03.31 |
[BOJ 24832 // C++] Longest Palindrome (0) | 2022.03.30 |