我的一个老师朋友要求我制定一个程序,以帮助他们为学生分配课堂工作。有23个孩子和12种不同的工作类型,其中一些工作需要多个孩子,共有23个可用职位。他们希望每个星期向孩子们随机分配新的工作,在任何可能的情况下,任何孩子都不得重复做一次以上的工作。
我的思考过程是按照此规则生成所有可能的孩子分配给工作,然后一步步地完成结果。但是我很想尝试提出一种实用的算法来生成这些分配组合。
[如果有人对解决方案有任何想法,或者可以让我知道我在追逐不可能的想法,我将不胜感激!我已经粘贴了所有工作以及下面每个工作需要几个孩子的情况,以防有所帮助。
“出勤”:1,“表队长”:4,“老师的助手”:2,“车载橡皮擦”:2“光开关”:1,“图书管理员”:2“午餐助手”:1,“设备管理员”:3,“垃圾邮件监控器”:2,“技术专家”:1,“ Paper Passer”:3,“铅笔刀”:1
我的一个老师朋友要求我制定一个程序,以帮助他们为学生分配课堂工作。有23个孩子和12种不同的工作类型,其中一些工作需要多个孩子,...
这是一个没有任何保证的简单贪婪算法:
此问题可以使用二分匹配来解决。创建如下图:
让我们首先找到一些可能的答案的常识性边界: