Suggest rooms for each person in decreasing order of goodness based on the net increase in diversity by joining the group (I think it's somewhat different from the vanilla knapsack problem... I think essentially you will need to compute a current diversity metric, and the possible diversity metric by adding this person and subtract to see gain)
Requirement
Suggest rooms for each person in decreasing order of goodness based on the net increase in diversity by joining the group (I think it's somewhat different from the vanilla knapsack problem... I think essentially you will need to compute a current diversity metric, and the possible diversity metric by adding this person and subtract to see gain)
Additional reading here.
Implementation