排列组合题目,很多物件,分配到不同盒子里面

#排列组合题目: 很多物件,分配到不同盒子里面(盒子数量可以设固定).
分配条件:每样物品某一种特性是否满足分配到盒子里面(有n种条件,可设固定)

分配方式: 先满足n 种条件 最优先分配

                                在满足n-1条件  优先分配

                                都不满足 随机分配

结果: 知道每个盒子里面物件

提供思路或文献即可。。。

实际去写真的不想写;
首先肯定是根据物件循环,
判断是否满足条件(int index 接受满足几个条件 存储到一个Map中,Map<物件,index>,排序找到最优分配 )
http://www.cnblogs.com/avivahe/p/5657071.html Map排序
排序之后就有优先级别分配了,再根据此分配到相应的盒子或者随机分配 (这里不知道你的条件和盒子之间的关系,可能需要细节调整)

itemNum = 1000;
boxNum = 100;
isMatch = false

for item in items:
for box in boxs:
if item.condiction == box.condiction:
box.addItem(item)
isMatch = True
if isMatch == false:
box = randomNum()
box.addItem(item)

print(box.listAll())

 itemNum = 1000; 
boxNum = 100;
isMatch = false

for item in items:
    for box in boxs:
        if item.condiction == box.condiction:
            box.addItem(item)
            isMatch = True
    if isMatch == false:
        box = randomNum()
        box.addItem(item)

print(box.listAll())
 itemNum = 1000; 
boxNum = 100;
isMatch = false

for item in items:
    for box in boxs:
        if item.condiction == box.condiction:
            box.addItem(item)
            isMatch = True
    if isMatch == false:
        box = randomNum()
        box.addItem(item)

print(box.listAll())

http://www.cnblogs.com/wintersong/p/5286505.html