前書き
タングラムは、ブロックをさまざまな形に配置/適合させる古典的なパズルです。中国の七巧板から-文字通り「7つのスキルボード」を意味します。このアイデアを活用して、7つのテトロミノスのピースを使用してグリッドを埋めましょう。
チャレンジ
入力としてグリッド座標の配列を受け取り、指定された座標を除き、テトリスの破片で満たされた10 x 20の完成したグリッドを出力する関数またはプログラムを作成します。
ピースの分布を均一に保つようにして、スコアを最適化します。
基準
この座標のペーストビンを使用して、タスクを完了します。5組の座標があります。座標を書き込む形式は自由に変更できますが、値は変更しないでください。
データセット#2は解決できません-この場合、入力セルが埋められた状態でグリッドを出力するだけです(つまり、X
穴のある場所)。
入力
グリッド座標は、グリッドの「穴」を表します。これらはテトロミノの部分を含むことができないセルです。
グリッド座標:
(0,0), (1,0), (2,0), ... (9,0)
(0,1), (1,1), (2,1), ... (9,1)
.
.
.
(0,19), (1,19), (2,19), ... (9,19)
プログラミング言語の配列スタイルを使用して、座標を入力します。
X
またはその他の印刷可能なASCIIでグリッドの穴を表します。
出力
幅10セル、高さ20セルの標準テトリスグリッドサイズを使用して、Tetrominoピースを使用してグリッドを完全かつ完全に埋めることができる場合にのみ、ソリューショングリッドを印刷します。
手紙で構成小品I
、O
、L
、J
、T
、Z
、S
として、次のとおりです。
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
例
入力座標のない出力ソリューションの例:
ZZIIIILLLI
JZZTTTLLLI
JJJSTLOOLI
SZZSSLOOLI
SSZZSLLJJI
TSOOSLLJII
TTOOSSLJII
TZOOSSLZII
ZZOOSSZZII
ZJJJJSZLLI
TTTJJOOILI
ITZJJOOILI
IZZTTTLIII
IZOOTZLIII
IJOOZZLLII
LJJJZSSTII
LLLTSSTTTI
LLLTTSSZJI
OOLTSSZZJI
OOIIIIZJJI
次のように配布します。
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
11 6 8 6 6 7 6
ノート
座標は、単一の表現X
とY
グリッド上の位置を。グリッドは0ベースです。つまり、座標(0,0)
は作成者が選択した左上または左下のいずれかのセルでなければなりません。
レンガができること:
- 著者の裁量で選択されます。
- 著者が適切だと思うように回転します。
- 著者の裁量でグリッドのどこにでも配置できます(別名:テトリス重力なし)
レンガはできません:
- グリッドの境界の外側に配置されます。
- グリッド内の既存のレンガまたは穴に重なります。
- 非標準のテトリステトロミノピースであること。
得点
スコアの形式は次のとおりです。
(1000-[コード内のバイト])*(M / 10 + 1)
Mは、ソリューションセットで使用されるピースの分布の乗数です。
3月のIdesによる最高得点。
Mを計算するには、各セットの最小の個々のテトロミノ分布値を追加し、平均を切り捨ててMを計算します。
例えば:
Set 1: 5
Set 2: 4
Set 3: 5
Set 4: 6
Set 5: 3
6 + 4 + 5 + 4 + 4 = 21/5 = 4.6
したがって4
、M値として使用します。
注:セットに解がない場合は、そのセットをMの計算に入れないでください。テトロミノ分布がないためです。