당신은 모양과 질량이 완전히 동일한 k+1개의 구슬을 갖고 있다. 이 중 k개의 구슬은 일반적인 구슬이고, 1개는 마법 구슬이다. 당신은 마법 구슬을 찾아 마법의 성에 들어가려고 한다.
마법 구슬과 일반 구슬을 육안으로 구별할 수 있는 방법은 없지만, 마법 구슬을 찾아내는 데에 사용할 수 있는 M (M≥2)개의 주머니가 있다. 주머니에는 0부터 M−1까지의 번호가 붙어 있다.
주머니를 활용하여 마법 구슬을 찾을 수 있는 방법은 아래와 같다.
갖고 있는 모든 구슬을 M개의 주머니에 나눠 담는다.
주문을 외운다.
주문을 외운 직후:
마법 구슬은 절대로 소멸되지 않으므로, 위의 과정을 마법 구슬 1개만 남을 때까지 반복하면 마법 구슬을 찾을 수 있다.
당신은 구슬들을 주머니에 나눠 담는 전략을 수립하여, 최악의 경우에 마법 구슬을 찾는 데에 드는 비용을 최소화하고자 한다. 즉, k+1개의 구슬 중 어떤 구슬이 마법 구슬이더라도 총 w원 이하를 들여 마법 구슬을 찾을 수 있는 최소한의 w를 찾고자 한다.
0 이상 N−1 이하의 모든 k에 대해 이 문제를 해결하는 함수를 작성하라.