2016-12-03 81 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)