在可能的日子里找到最合适的团队组成。一组n位参与者(k天),一个团队有m个位置。参与者指定他想加入多少天以及他有空的时间。
结果约束:
我发现自己每周都会为足球队的调度工作手动解决此问题,并且我确定有一种聪明的程序化方法可以解决此问题。目前,我们认为每周只有2天,而同事要写下他们想参加的一天的名字,结果每天都有很多大名单,不可能取悦所有人。
我考虑了一种新方法,其中每个同事都写下自己的名字,每周要玩的时间以及有空的日子,例如以下示例:
Kane 3 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)
上一行表示,凯恩本周想参加3次比赛,并且周一至周五都可以上班。第一个数字代表比赛天数,第二个数字代表可用天数(1到7,周一至周日)。
参加人数少于m(在我的情况下,m = 12)的日子将无法安排。什么是解决此问题的最佳方法,以便找到一种解决方案,使每个参与者至少参与一次,并考虑他们的愿望(何时玩,玩多少)。
我可以进行编程,我只需要知道要实现哪种算法,并可能对选择进行简短的逻辑解释即可。
结果约束: