문제 풀이/백준 (BOJ)
[백준/BOJ] 1450번: 냅색문제 ( meet in the middle 알고리즘 ) - C++ 문제 풀이
문제 설명 문제 링크: https://www.acmicpc.net/problem/1450 풀이이 문제는 가지고 있는 N개의 물건 중에 무게 C를 넘지 않도록 뽑는 방법의 수를 출력하는 문제입니다.이때, N의 최대 값은 30입니다. 만약, N을 30이라고 가정하면, 주어진 물건 중에서 가방에 넣는 방법의 수는 $2^{30}$입니다.왜냐하면, 물건 당, 그 물건을 가방에 넣거나, 넣지 않거나 두 가지지 방법이 있기 때문입니다. 이 가짓수 중에서, 뽑은 물건들의 무게 합이 무게 C보다 작거나 같은 개수를 구하면 되는 문제입니다. 그러나, $2^{30}$은 백만이 넘는 큰 수입니다.따라서, 이런 방식으로 풀면 당연히 시간제한을 넘을 수 없습니다. 그래서, 이 문제에선 "중간에서 만나기( meet in the m..
2024. 6. 27.