(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

+ Recent posts