6 basamaklı onaltılık giriş / bağımsız değişken alan herhangi bir programlama dilinde bir program veya işlev yazın. Girdi / bağımsız değişken 6 değer veya 6 karakterli bir dize olabilir.
Programınız, yalnızca boşluklarla birleştirilmiş onaltılık karakterleri (+ Satır Besleme) içeren tam olarak 8 karakter genişliğinde dikdörtgen bir karakter bloğu çıkarmalıdır. Dikdörtgen blok, verilen 6 değerin her biri için bir tane olan daha küçük blok şekillerinin bir kombinasyonudur.
Aşağıda 2 adet örneksel örnek girişi ve geçerli örnek çıkışı verilmiştir:
Örnek giriş :
"464fa6" or [4, 6, 4, 15, 10, 6]
Geçerli bir çözüm çıktısı :
44 66 ff
44 66 ff
66 ff
aa f
aaa ffff
aa ffff
aaa
6 44
66666 44
Örnek giriş :
"35bf12"
Geçerli bir çözüm çıktısı :
55555 22
bbbbbbbb
b b b
33
fffff 3
ff ff
ffffff 1
Kurallar:
Çıktı dikdörtgen şeklinde olmalıdır
Çıktı herhangi bir dikey yükseklikte olabilir, ancak tam olarak 8 karakter genişliğinde olmalıdır
"Blok şekilleri" olarak adlandırılan "iç bloklar", başka herhangi bir blok şekline bağlanamaz, blok şekilleri yatay, dikey ve çapraz olarak tam 1 karakter boşluklu bir duvarla ayrılmalıdır.
Boşlukların duvarı dış kenarlara paralel çalışamaz, çıkış kenarlarında sadece 1 karakter genişliğinde duvar kenarları bulunabilir. Çıktının en dıştaki dikdörtgen kenarında herhangi bir bağlantılı boşluk olmamalıdır.
Boşluk duvarının genişliği Hiçbir noktada 1 karakteri geçmemelidir.
İç blok şekilleri, x karakterlerinin alanı ile aynı olmalıdır, burada x, sağlanan onaltılık değerdir ve şekil, x'in onaltılık karakter temsilcisi olduğu x karakterinden oluşmalıdır.
İç blok şekilleri, tüm şekil karakterleri dikey veya yatay olarak bağlandığı ve boşlukların duvarı kurallarını değerlemediği sürece herhangi bir biçimde olabilir.
6 blok şekli, çıkarılan dikdörtgenin içindeki herhangi bir dahili "sıraya" yerleştirilebilir.
Geçerli giriş aralığı: Her şekil için 1 ... 15 ("1" ... "f"). Programınıza giriş 6 onaltılık sayıdan başka bir bilgi içermemelidir ve giriş programınıza / fonksiyonunuza verilmeden önce örneklerden başka bir şekilde sıralanmamalıdır. Çözümünüzün hangi girdi biçimini kullandığını bize bildirin (girdi onaltılık değerlerden başka bilgi içeremez).
Bir iç blok şekli içi boş olabilir. Delik, boşlukların duvarı olarak sayılan boşluk karakterlerinden oluşmalıdır, yani içi boş bir iç blok şeklindeki delik 1 karakterden fazla olamaz.
Geçerli içi boş şekillerin üç örneği:
aaa
a aaa
aaa
999
9 9
999
9
ffffff
f ff
ffffff
Geçersiz bir içi boş şekil örneği:
ffffff
f f
f f
fffff
Tüm giriş kombinasyonlarının yukarıdaki kurallara göre "çözülmesinin" mümkün olmadığını varsayıyorum, bunun için programınızın "çözmesi" gereken 10 örnek girişi listeliyorum (hepsi doğrulanabilir çözümlenebilir):
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
Programınız 10 örnek girişten herhangi birini resonable zamanda çözebilmelidir. Standart bir masaüstü bilgisayarda resonable süresini 1 saat içinde çevirir. Şöyle deyin: 3 Ghz Çift çekirdekli, referans için 4GB bellek.
Bu kod golf, en kısa çözüm kazanır. Çözüm tamamen çalışan bir program veya bir işlev olabilir