0からはじめる計算幾何学 第03回 パソコン甲子園の問題に挑戦する
日本の ICPC の幾何問題は、世界のそれと比べてレベルが高いという話を聞いたことがあります。
日本が幾何を得意としているのかどうか私には分かりかねますが、ここでふと、パソコン甲子園にも面白い幾何の問題があったことを思い出しました。
今日はパソコン甲子園2005本選問題28「ケーキ屋」を紹介しましょう。
問題はパソコン甲子園公式サイトの例題ページにて公開されていますが、こちらにも転載します。
ケーキ屋さんが、まちまちな大きさのロールケーキをたくさん作りました。 あなたは、このケーキを箱に並べる仕事を任されました。 ロールケーキはとてもやわらかいので、他のロールケーキが上に乗るとつぶれてしまいます。 ですから、全てのロールケーキは必ず箱の底面に接しているように並べなければなりません。 並べ替えると必要な幅も変わります。
ファイルから、n個のロールケーキの半径・・・・・・・・と箱の長さを読み込み、それぞれについて、箱の中にうまく収まるかどうか判定し、並べる順番を工夫すると箱に入る場合は "OK"、どう並べても入らない場合には "NA" を出力して終了するプログラムを作成してください。
ロールケーキの断面は円であり、箱の壁の高さは十分に高いものとします。 ただし、ロールケーキの半径は3以上10以下の整数とします。 つまり、ケーキの半径に極端な差はなく、図 (b) のように大きなケーキの間に小さなケーキがはまり込んでしまうことはありません。 また、ケーキの個数 n は12個以下とします。
![]()
