甚至团队分配

时间:2016-12-03 12:51:55

标签: math logic

60名学生需要分成 12个团队。团队应按性别和国籍均匀分配。

实现这一目标的有效方法是什么?

我已经尝试了一个包含9个学生的示例数据列表,应该分成3个小组:

A: Adam, Male, Sweden
B: Bob, Male, Norway
C: Charlie, Female, Denmark
D: David, Male, Denmark
E: Erica, Female, Sweden
F: Frida, Female, Norway
G: Gunnar, Male, Denmark
H: Hans, Male, Norway
I: Anna, Female, Sweden

我想也许有一种方法可以先按国籍排序:

AEIBFHCDG

然后按n + 3按国籍创建均匀分布的团队:

ABC
EFD
IHG

然后对角线进行第二次迭代:

AFG
BDI
CEH

但并不是真的比这更进一步。关于我应该采用什么方法的任何想法?

1 个答案:

答案 0 :(得分:0)

我认为你应该首先决定一个团队在分享性别或国籍方面更重要的事情。如果您认为性别更重要,请使用Python执行以下操作:

# todo: read in input
number_of_teams = 12
sorted_students = sorted(input) # todo: use your own comparator
team_list = [[] for _ in xrange(number_of_teams)] # create a list of 12 teams
# a team is modelled as a list 
for i, student in enumerate(sorted_students):
    team_list[i % number_of_teams].append(student)