バックグラウンド
レゴはX-LargeGrayBaseplateを製造しています。これは、幅48スタッド、高さ48スタッドの大きなビルディングプレートで、総面積は2304スタッドになります。レゴマニアなので、これらのベースプレートに置いて、壁やディスプレイに掛けることができるモザイクスタイルのデザインをいくつかモデル化しました(Android、Dream Theater、The Galactic Empire、Pokemonを参照)。
チャレンジ
私の課題は、これらのデザインを購入するための最低コストを取得することです。2304個の1x1プレートを個別に購入すると、高額になる可能性があります。基本的にレゴのeBayであるBrickLinkを使用して、特定の色で最も安価な部品を特定するためのデータを見つけることができます。たとえば、0.10ドル(またはスタッドあたり0.025ドル)の1x4プレートは、2.16ドル(またはスタッドあたり0.06ドル)の6x6プレートよりも安価です。また、画像の組み立てに使用できるすべての可能なプレートのリストを決定することもできます。
1x1
1x2
1x3
1x4
1x6
1x8
1x10
1x12
2x2 corner!
2x2
2x3
2x4
2x6
2x8
2x10
2x12
2x16
4x4 corner!
4x4
4x6
4x8
4x10
4x12
6x6
6x8
6x10
6x12
6x14
6x16
6x24
8x8
8x11
8x16
16x16
問題
この問題について、すべてのプレート、それらの色、および各プレートの「重量」またはコストのリストがあると仮定します。簡単にするために、コーナーピースを削除することもできますが、それは取り組むべき興味深い課題です。48x48イメージを作成するための最も安価なコンポーネントをどのように見つけますか?最も少ないコンポーネント(必ずしも最も安いとは限らない)を使用するソリューションをどのように見つけますか?コーナーピースを許容ピースとして追加する場合、どのように説明しますか?
BrickLinkにクエリを実行し、特定の色の特定のブリックの平均価格を取得し、それをリストの要素として追加することで取得されるマスターリストがあると想定できます。したがって、製造または販売されていないという理由だけで、黒い16x16プレートはありません。ただし、16x16ブライトグリーンプレートの値は3.74ドルで、現在利用可能な平均価格で計算されます。
私の問題の記述が十分に簡潔であることを願っています。それは私が数日間考えていたものであり、皆さんがどう思うかについて興味があります。面接で得たのではなく、やりがいがあるので「面接質問」とタグ付けしました(楽しい質問だと思いますが!)。
編集
これが2x2コーナーピースと4x4コーナーピースへのリンクです。答えは必ずしも色を考慮する必要はありませんが、そのシナリオをカバーするために拡張可能である必要があります。シナリオでは、すべてのプレートがすべての色で利用できるわけではないため、プレート、その色、およびそのプレートの平均コストを識別する要素の配列があると想像してください(例を以下に示します)。賞金を提供してくれたBenjaminに感謝します!
1x1|white|.07
1x1|yellow|.04
[...]
1x2|white|.05
1x2|yellow|.04
[...]
このリストにはエントリがありません:
8x8|yellow|imaginarydollaramount
これは、8x8の黄色いプレートが存在しないためです。リスト自体は些細なものであり、ソリューションの参照を提供するものとしてのみ考えるべきです。ソリューション自体には影響しません。
EDIT2
わかりやすくするために、いくつかの表現を変更しました。