がべーじこれくしょん

はじめまして、未熟者です。

無慈悲な部屋割りプログラム

30分で書いたので特に手直しも何もしていませんが、

学校の卒業旅行での部屋割り用に作成した拙いプログラムです。

 

あるクラスで、仲良しグループがnグループあったとする。

そのグループを崩すことなく、6人部屋と10人部屋に振り分けたい。

もし振り分けられずに余ってしまう場合、各人の金銭負担は少し増えるが5人部屋または9人部屋でもよい。もし、それでも余ってしまう場合、全て合わせて6人部屋を作成する。

 

入力は最初にグループ数。次の行より各グループに属する出席番号を入力していく。

 

入力:

n

n11 n12 n13 ... 

n21 n22 n23 ...

...

 

各データセット範囲

1≦n≦50

1≦n??(出席番号)≦50

 

サンプル入力

10
30 39 11 21 23 10 1
2 99 19 3 5 8 9
65 89 28 88 23
22 11 23
29 132 11
91 20
10 21
29
33
39 12

サンプル出力

generated rooms:
['30', '39', '11', '21', '23', '10', '1', '22', '11', '23']
['2', '99', '19', '3', '5', '8', '9', '29', '132', '11']
['65', '89', '28', '88', '23', '29']
generated rooms 2:
generated rooms 3:
['91', '20', '33', '39', '12', '10']
res
['21']

 

なお、最終的に1-5人の余りが発生してしまう可能性がある欠陥があるので、

このプログラムの場合その対処は人間の手で行う必要あり。

 

gistca0e6b9a773ccf1cc6ce