2016-12-03 11 views
0

私は60人の学生12チームに分割する必要があります。チームは性別国籍で均等に配分する必要があります。でもチームの配布

これを達成するための効果的なアプローチは何ですか?

AEIBFHCDG 
:私は、おそらく一つの方法は、国籍によって最初にソートするだろうと思った

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 

は私が3つのチームに分かれべきである9人の学生とサンプルデータのリストを試してみました

その後、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)