[백준] 1450 - 냅색문제
·
알고리즘 (PS)/BOJ
https://www.acmicpc.net/problem/1450 문제 풀이 주어진 물건들을 가방 안에 담을 수 있는 모든 경우의 수를 출력하는 문제나이브하게 접근하면 물건이 최대 30개 있으므로, 2^30 조합을 모두 시도해보면 된다.하지만 이렇게 접근하면 최악의 경우 1,073,741,824 가지의 경우의 수가 나오기 때문에 시간초과가 발생한다.따라서 meet in the middle 테크닉을 이용하여 시간을 줄이는 것이 이 문제의 핵심이다. '중간에서 만나기' 라는 이름으로도 불리는 이 테크닉은, 사이즈가 큰 전체 대상을 처음부터 끝까지 직접 탐색하는 것보다,전체 영역을 반으로 나눈 뒤, 반씩 쪼개서 탐색한 결과를 조합하여 해답을 구하는 기법이다. 이 문제의 경우, 2^30의 조합을 모두 구하는 것..