CodeIQ過去問集30:几帳MEN
本稿はCodeIQで2014年12月1日~12月29日に出題された コード銀行:几帳MEN という問題を再編集したものです。 ※出題時と記述が一部異なる場合がありますがご了承ください。
几帳MEN
3人の几帳面な男たちがいました。
ジェシー「みかんをたくさん頂いたんだ。みんなで分けようYO!」
ダニエル「イイネ!…ええと、みかんは全部で30個あるみたいだから、ひとり10個ずつならきちんと分けられるNE!」
ジョゼフ「それだけじゃダメだYO!みかんは一つひとつ大きさが違うんだから、その辺も考えてきっちり分けNIGHT!」
【問題】
30個のみかんがあります。3人で10個ずつ分けようと思いますが、不公平にならないよう、みかんの重さの合計が均一になるように分けてください。たとえば、次のような重さのみかん6個
101g 103g 110g 105g 114g 112g
を、3人で2つずつ分ける場合、重さの合計が等しくなるように分けると
(101g, 114g) (103g, 112g) (105g, 110g)
のように、合計が215グラムになるように分けることができます。
みかんの重さのデータを標準入力から読み込み、それを重さの合計・個数ともに3等分するプログラムを書いてください。
【入力】
入力はテキストファイルで用意されています。これを標準入力から読み込んでください。 入力ファイルの1行目には、みかんの個数Nが与えられます。 2行目以降のN行分が、みかんの重さ(正の整数)です。
【出力】
標準出力に、3等分したみかんのグループを出力してください。 1行につき1グループ、計3行を出力します。それ以外は出力しないでください。 分け方が複数ある場合、その中の1種類だけを出力してください。
【入出力例】
入力例1
6 101 103 110 105 114 112
出力例1
(101, 114) (103, 112) (105, 110)
入力例2
9 86 106 85 128 95 96 91 102 108
出力例2
(85, 86, 128) (91, 102, 106) (95, 96, 108)
【解答方法】
kicho_men.zipをダウンロードし、展開してください。中には以下のファイルが含まれています。
- sample1.in.txt: 入力例1です
- sample1.out.txt: 出力例1(入力例1の解答例)です
- sample2.in.txt: 入力例2です
- sample2.out.txt: 出力例2(入力例2の解答例)です
- testdata.in.txt: これを入力として、正しい実行結果が得られるプログラムを書いてください。
(解答・解説は後日)