チャレンジ
グループ化された文字のセットが与えられたら、それらをボード全体に配置して、領域全体を覆うようにします。
ボード表現(別名SHIP DECK)
- ボードは6x6グリッドです。
- 常に36の正方形があります。
- 列はAFとマークされています。
- 行には1〜6のマークが付けられています。
例:
A B C D E F
+---+---+---+---+---+---+
1 : : : : : : :
+---+---+---+---+---+---+
2 : : : : : : :
+---+---+---+---+---+---+
3 : : : : : : :
+---+---+---+---+---+---+
4 : : : : : : :
+---+---+---+---+---+---+
5 : : : : : : :
+---+---+---+---+---+---+
6 : : : : : : :
+---+---+---+---+---+---+
入力(別名CRATES)
- グループ化された文字のセットを含む複数行の文字列。
- 箱は同じ文字のグループから作られています。
- 木箱は不変です。つまり、回転したり反転したりすることはできません。
- 各クレートの開始点は左上です(クレートをデッキに移動するときに考慮に入れてください)。
- クレートの左上から、次の同じ正方形は右または下にのみ配置できます。
- 任意の文字を使用してクレートを表すことができます。木箱は常に文字
[a]
から始まり、アルファベットを上に移動します。 - 木枠は、その文字(すなわち、木枠A、木枠Bなど)によってラベル付けされます。
- 箱の数は変わる可能性があります(指定された例にかかわらず、常に10であるとは限りません)。
- 行ごとに箱の各ブロックを区切る24文字があります。([a]の開始から[b]の開始まで24文字で区切る、など)
例:
[a][a][a] [b] [c][c]
[a] [b][b][b] [c]
[a] [b][b]
[d] [e] [f][f][f][f][f]
[d][d] [e]
[d][d] [e]
[e]
[e][e]
[g] [h] [i]
[g] [i]
[i]
出力
完全に覆われる(空のスペースがない)ように、木枠をデッキ上の位置に配置する一連のコマンドを印刷する必要があります。
コマンドの形式は次のとおりです。
HAUL <crate> TO <column> <row>
つまり、Aへの持ち込み1
明確にするために、与えられた入力に対して常に解決策があります。
テストケース <-クリックして詳細をご覧ください。
入力
[a][a][a] [b] [c][c][c]
[a][a] [b]
[a] [b][b]
[b][b]
[d] [e] [f]
[d] [f]
[d] [f]
[d]
[d]
[g][g] [h] [i]
[i][i]
[i]
[i][i]
[j][j][j]
出力
HAUL I TO A 1
HAUL B TO A 3
HAUL A TO B 1
HAUL J TO D 6
HAUL D TO F 1
HAUL F TO E 1
HAUL C TO C 5
HAUL G TO D 4
HAUL E TO D 3
HAUL H TO C 6
結果:
A B C D E F
+---+---+---+---+---+---+
1 : i : a : a : a : f : d :
+---+---+---+---+---+---+
2 : i : i : a : a : f : d :
+---+---+---+---+---+---+
3 : b : i : a : e : f : d :
+---+---+---+---+---+---+
4 : b : i : i : g : g : d :
+---+---+---+---+---+---+
5 : b : b : c : c : c : d :
+---+---+---+---+---+---+
6 : b : b : h : j : j : j :
+---+---+---+---+---+---+
採点
これはコードゴルフなので、キャラクターの中で最も短い答えが勝ちます。