平均分配算法之倒序贪婪

话说学校要将100小学升初中的学生分配到4个初一班级里面,分配完以后这四个班级语文、数学两科之和的平均分要基本相同。

分析:

学生两科分数都在100到0分不等,那么只需要在分配以后保证每个班级的总分基本等于 100个学生的语文+数学总分/4就可以保证每个班级的平均分基本相同

算法思想:

目的:把m份数据分配到n个人的头上,m份数据里面的数据大小个不相同

过程:
1.1 把待分配的数据m从大到小排序;
1.2 从数据m取出n份做为初始值分配给n个人;
1.3 把这n个人的数据从小到大排序;
1.4 从数据m再取出n份数据累加到n个人的头上
1.5 重复1.3-1.4直至数据分配结束

 

实现:

show


结果:

image

posted @ 2011-11-30 16:30  ZYB  阅读(9971)  评论(4编辑  收藏  举报