2016-12-03 54 views
0

我有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 

但并没有真正走得更远。有关我应该使用什么方法的任何想法?

回答

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)