6桁の16進数の入力/引数を取る任意のプログラミング言語でプログラムまたは関数を記述します。入力/引数には、6つの値または6文字の文字列を指定できます。
プログラムは、指定された16進数のみをスペースと組み合わせて含む、正確に8文字幅の長方形のブロックを出力する必要があります(+改行)。長方形のブロックは、指定された6つの値ごとに1つずつ、より小さなブロック形状の組み合わせです。
次に、2つのデモ用サンプル入力とサンプル有効出力を示します。
サンプル入力:
"464fa6" or [4, 6, 4, 15, 10, 6]
1つの有効なソリューション出力:
44 66 ff
44 66 ff
66 ff
aa f
aaa ffff
aa ffff
aaa
6 44
66666 44
サンプル入力:
"35bf12"
1つの有効なソリューション出力:
55555 22
bbbbbbbb
b b b
33
fffff 3
ff ff
ffffff 1
ルール:
出力は長方形である必要があります
出力の縦の高さは任意ですが、幅は正確に8文字でなければなりません
「ブロック形状」と呼ばれる「内部ブロック」は、他のブロック形状に接続できません。ブロック形状は、水平、垂直、斜めに1文字幅の空白の壁で区切る必要があります。
空白の壁は外縁に平行に走ることができず、出力縁に存在できるのは1文字幅の壁縁だけです。出力の最も外側の長方形の端には、リンクされたスペースが存在しないようにします。
空白の壁の幅は、どの点でも1文字を超えてはなりません。
内部ブロックの形状は、x文字の領域で均一である必要があります。ここで、xは指定された16進値であり、形状は文字xで構成されている必要があります。
内部ブロック形状は、すべての形状文字が垂直または水平に接続し、空白の壁の規則を無効にしない限り、どのような形でもかまいません。
6つのブロック形状は、出力された長方形内の任意の内部「順序」に配置できます。
有効な入力範囲:各形状に対して1 ... 15( "1" ... "f")。プログラムへの入力には、6桁の16進数以外の情報を含めることはできません。また、入力は、プログラム/関数に提供される前のサンプル以外の方法でソートしないでください。ソリューションが使用する入力形式を教えてください(入力には16進値以外の情報を含めることはできません)。
内側のブロック形状は、中空にすることができます。穴は、空白スペースの壁としてカウントされる空白スペース文字である必要があります。つまり、中空の内部ブロック形状の穴は、1文字を超えてはいけません。
有効な中空形状の3つの例:
aaa
a aaa
aaa
999
9 9
999
9
ffffff
f ff
ffffff
無効な中空形状の一例:
ffffff
f f
f f
fffff
上記の規則に従ってすべての入力の組み合わせを「解決」することはできないと想定しているため、プログラムが「解決」できるはずの10個のサンプル入力をリストします(すべてが解決可能と検証されています)。
1. 464fa6 (same as the first sample)
2. 35bf12 (second example input seen above)
3. 111126
4. ff7fff
5. 565656
6. abcdef
7. 1357bd
8. 8c6a42
9. ab7845
10. 349a67
プログラムは、10個のサンプル入力のいずれかを妥当な時間で解決できるはずです。標準的なデスクトップコンピューターで妥当な時間を1時間以内に変換します。たとえば、3 Ghzデュアルコア、4 GBのメモリを参考にしてください。
これはコードゴルフで、最短のソリューションが勝ちです。ソリューションは、完全に機能するプログラムまたは機能です