카드 정리 1

상자마다 색깔별 카드 개수가 주어질 때, 최대 한 상자만 여러 색을 담도록 하고 나머지 색은 한 상자에 모이게 만드는 최소 이동 횟수를 구한다.

보통6그리디구현완전 탐색조합론아직 제출이 없습니다시간 제한2초메모리 제한128 MB

문제

태수는 카드를 모아 박스에 보관한다. 어느 날 태수의 동생이 카드를 가지고 논 뒤 박스에 다시 넣었지만, 태수가 정한 기준대로 넣지는 않았다. 그래서 태수는 카드를 다시 정리하려고 한다.

박스는 N개이고, 카드 색상은 M가지이다. 태수는 다음 조건을 만족하도록 카드를 정리하려고 한다.

  1. 최대 1개의 박스를 조커 박스로 지정할 수 있다. 조커 박스에는 서로 다른 색의 카드를 함께 보관해도 된다.
  2. 조커 박스를 제외한 모든 박스는 비어 있거나, 한 가지 색의 카드만 담고 있어야 한다.
  3. 각 색상에 대해, 조커 박스에 들어 있는 카드를 제외하면 그 색상의 카드는 모두 같은 박스에 있어야 한다. 어떤 색상의 카드가 전부 조커 박스에 들어 있어도 된다.

각 박스에 각 색상의 카드가 몇 장 들어 있는지가 주어진다. 위 조건을 만족시키기 위해 필요한 이동 횟수의 최솟값을 구하라. 한 번의 이동은 한 박스에서 카드 1장 이상을 꺼내 다른 박스에 넣는 것을 뜻한다. 한 번에 꺼낸 카드들의 색상은 서로 달라도 된다.

입력

첫째 줄에 박스의 개수 N과 카드 색상의 개수 M이 주어진다.

둘째 줄부터 N개의 줄에는 각 박스의 카드 정보가 주어진다. 각 줄은 M개의 정수로 이루어져 있으며, 차례대로 1번 색상, 2번 색상, ..., M번 색상 카드의 개수를 나타낸다.

출력

조건을 만족시키기 위해 필요한 이동 횟수의 최솟값을 출력한다.

제한

  • 1 <= N, M <= 50
  • 한 박스에 들어 있는 같은 색상 카드의 수는 최대 9장이다.