無慈悲な部屋割りプログラム
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人の余りが発生してしまう可能性がある欠陥があるので、
このプログラムの場合その対処は人間の手で行う必要あり。