2014-01-13 2 views
-1

나는 클래스 항목의 목록을 가지고있다. 나는이 규칙에 대해주의하면서 컨테이너에 목록의 각 개체를 할당해야합니다 : 같은 이름을 공유 목록 항목의배포 알고리즘

  1. 객체가 같은 컨테이너에 배치해야합니다. 물론 TotalSize> Max Container Size를 가진 동일한 이름의 Item을 갖는 것은 불가능합니다.

  2. 나는 용기

의 적은 possibile 수 어떤 조언을 크게 감사를 만들어야합니다.

+1

당신이 최대 컨테이너 크기보다 같은 이름으로 더 많은 항목이있는 경우 그래서, 당신은 새로운 용기에 오버 플로워 항목을 넣어해야하거나 오버 플로우에 대해 걱정하지 않는다? –

+2

당신이 그것을 오른쪽 태그 : 배낭 알고리즘을 사용 –

+0

@ AttilaBujáki 나는 "오버 플로우"를 가질 수 없습니다. 입력 된 데이터는이를 방지합니다. –

답변

1

컨테이너 ID로 항목을 분할하고 배낭 알고리즘을 사용하여 개별 문제 인스턴스를 해결하십시오.

http://en.wikipedia.org/wiki/Knapsack_problem

+0

시작시 컨테이너가 없습니다. 목표는 그것들을 만드는 것입니다. 어쩌면 그 해답을 잘못 이해 한 것일까 요? –

+0

그런 다음 발생하는 각 ID에 대해 컨테이너를 만듭니다. –