큐브는 N개의 물통이 있다. 각 물통에는 물을 무한대로 부을 수 있다. 처음에는 모든 물통에 1리터씩 들어있다고 한다.
큐브는 이 물통을 또 다른 장소로 이동시키려 한다. 큐브는 한 번에 K개의 물병을 옮길 수 있다고 한다.
하지만, 큐브는 자연을 아껴서 물을 낭비되는 것을 싫어하고 이동을 한 번보다 많이 하는 것을 싫어한다.
따라서 큐브는 물통의 물을 적절히 재분배해서, K개를 넘지 않는 비어있지 않은 물통을 만들려고 한다.
물은 다음과 같이 재분배 한다.
- 먼저 같은 양의 물이 들어 있는 물통 두 개를 고른다.
- 한 개의 물통에 다른 한 쪽에 있는 물을 모두 붓는다.
- 이 방법을 필요한 만큼 계속 한다.
이런 조건 때문에, N개로 K개를 넘지 않고 비어 있지 않은 물통을 만드는 것이 불가능 할 수 도 있다.
다행이도 새로운 물통을 살 수 있는데 가게에서 구매하는 물통도 1리터의 물이 들어 있다.
예를 들면, N=3이고 K=1일 때를 보면, 물통 3개로 1개를 만드는 것이 불가능하다. 한 통을 다른 통에 부으면, 2리터가 들어 있는
물통 하나와, 1리터가 들어 있는 물통 하나가 남는다. 만약 가게에서 한 개의 물병을 구매한다면, 2리터가 들어 있는 물통
두 개를 만들 수 있고, 마지막에 4리터가 들어 있는 물통 한 개를 만들 수 있다.