태수는 카드 수집가다. 카드는 박스에 넣어 보관하는데, 한 박스에는 같은 색 카드만 들어 있어야 한다.
어느 날 동생이 태수의 카드를 꺼내 놀다가 아무 박스에나 다시 넣어 두었다. 태수가 정한 기준을 지키지 않았으므로 태수는 카드를 처음부터 다시 정리한다.
박스는 N개이고, 카드는 색으로 구분하며 색의 종류는 M가지다. 정리를 마친 상태는 다음 두 조건을 지켜야 한다.
- 모든 박스는 비어 있거나, 같은 색 카드만 보관한다.
- 같은 색을 가진 카드는 모두 같은 박스에 있어야 한다.
이동 한 번은 한 박스에서 카드 한 장을 빼서 다른 박스에 넣는 것이다. 각 박스에 색마다 카드가 몇 장 들어 있는지가 주어질 때, 두 조건을 지키는 데 필요한 최소 이동 횟수를 구한다.