Meydan okuma
Programınız veya fonksiyonunuz STDIN'den bir tek string girişi veya bir fonksiyon parametresini kabul edecektir. Girişin yalnızca alfabetik karakterler (a-zA-Z), boşluklar ve tam durur içereceğini varsayabilirsiniz. Girdi büyük / küçük harfe duyarsızdır, bu nedenle 'a' ile tam olarak 'A' muamelesi yaptığınız gibi davranmalısınız.
Dizideki her karakter için, aşağıdaki şartnameye göre bir binanın bir gösterimini göstereceksiniz.
Her binanın üst çizgisinde alt çizgi, ikinci çizgisinde eğik çizgi, boşluk, ters eğik çizgi ile belirtilen bir çatısı olmalıdır.
_
/ \
Daha sonra, her bir tarafta bir duvar (|) ve ortada bir boşlukla temsil edilen harf numarasıyla (a = 1, b = 2, c = 3 vb.) Eşleşen birkaç katınız olacaktır. Alt kat (ve sadece alt kat), duvarlar arasında alt çizgi olan bir temele sahip olmalıdır. Bunun gibi, böyle...
|_|
Mesela 'b' şuna benzerdi
_
/ \
| |
|_|
Şimdi, çok yüksek, dar binaların dayanamayacağını ve tabanda daha geniş olması gerektiğini biliyoruz, bu nedenle hiçbir bina ilave bir destek olmadan üç kattan daha yükseğe çıkamaz. Bu yüzden her üç seviye (daha az değil) bir 'genişleyen katman' eklemelisiniz. Genişletme katmanı, altındaki bölümün duvarlarının hemen üzerinde bir eğik çizgi ve ters eğik çizgiden oluşur ve aşağıdaki bölüm, yukarıdaki bölümden daha geniş iki boşluk olmalıdır. Ekstra katman binanın yüksekliğine göre sayılmaz.
Binalar üst üste gelmemeli, aralarında gereksiz yere olmamalıdır ve zemin her zaman düzdür, bu nedenle tüm binaların tabanı aynı seviyede olmalıdır.
Örneğin, 'abcdefga' böyle görünecek.
_
/ \
_ | |
_ / \ | |
_ / \ | | | |
/ \ | | | | / \
_ | | | | | | | |
_ / \ | | | | / \ | |
_ / \| | | | / \| | | | _
/ \| || |/ \| || |/ \/ \
|_||_||_||___||___||___||_____||_|
Dize girişindeki boşluklar çift boşlukla gösterilmelidir.
Dize girişindeki tam duraklar bunun gibi molozlarla gösterilmelidir.
/\/\
Diğer örnekler
Giriş = Hello world.
Çıktı =
_
/ \
| |
| |
| |
/ \
| |
| | _
| | / \
/ \ | |
| | | |
_ | | _ | |
/ \ | | / \ / \
| | / \ | | | |
| | | | | | | |
_ _ | | | | | | | | _
/ \ / \ / \ | | / \ / \ / \
| | | | | | / \ | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
_ / \ / \ / \ | | / \ / \ / \
/ \ | | | | | | / \ | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | _ / \ / \ / \ | | / \ / \ / \
/ \ / \ | | | | | | / \ | | | | | | _
| | | | | | | | | | | | | | | | | | / \
| | | | | | | | | | | | | | | | | | | |
| | | | / \/ \/ \ | | / \/ \/ \ | |
/ \/ \| || || | / \| || || | | |
| || || || || | | || || || |/ \
|_____||___||_______||_______||_________| |_______________||_________||___________||_______||___|/\/\
Giriş = lorem ipsum
_
/ \
_ | |
/ \ | |
_ | | | |
/ \ | | / \
| | _ | | | |
| | / \ / \ | |
_ | | | | | | | |
/ \ / \ | | | | / \
| | | | _ | | | | | | _
| | | | / \ / \ / \ | | / \
_ | | | | | | | | | | | | | |
/ \ / \ / \ | | | | | | / \ | |
| | | | | | | | | | | | | | | |
| | | | | | / \ / \ / \ | | / \
| | | | | | | | _ | | | | | | | |
/ \ / \ / \ | | / \ | | | | / \ | |
| | | | | | | | | | | | | | | | | |
| | | | | | / \ | | / \ / \ | | / \
| | | | | | | | | | | | | | | | | |
/ \ / \ / \ _ | | / \ | | | | / \ | |
| | | | | | / \ | | | | | | | | | | | |
| | | | | | | | / \ | | / \ / \ | | / \
| | | | | | | | | | | | | | | | | | | |
/ \/ \/ \ | | | | / \ | | | | / \ | |
| || || |/ \ | | | | | | | | | | | |
| || || || |/ \ | |/ \/ \| |/ \
|_______||_________||___________||___||_________| |_____||___________||_____________||_____________||_________|
Giriş = a.a.a.x.x.x.a.a.a
_ _ _
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
_ _ _ | | | | | | _ _ _
/ \ / \ / \ | | | | | | / \ / \ / \
|_|/\/\|_|/\/\|_|/\/\|_______________|/\/\|_______________|/\/\|_______________|/\/\|_|/\/\|_|/\/\|_|
kurallar
- Elbette bu kod golf, bayt cinsinden en düşük puan kazanır
- Standart boşluk yönetimi kuralları geçerlidir
- Çıktıdan önce veya sonra herhangi bir sayıda boş satır eklenebilir
- Tüm sonucun bir dizgede çıktısını seçebilir veya çıktıyı, her bir elemanın bir çıktı satırını temsil ettiği bir dizi olarak sunabilir veya STDOUT'a gönderebilirsiniz.
Not
Bu benim PPCG'ye ilk gönderim, bu yüzden lütfen beni rahatça izleyin. Kum havuzundan geçti. Olumsuz noktalar veya olası gelişmeler lütfen yorum olarak gönderin; elimden geleni yapacağım
[a,z]
, [1.26]
parça Mego bahsetti. . Bu isteğe sahip (genellikle zorluk önemli bir parçası (burada değil) olmadıkça en iyisi
[a,z]
ve[A,Z]
karşı[1,26]
anlamsız bir gereksinimi gibi görünüyor. Giriş olarak sadece bir liste tamsayıları kullanmak çok daha iyi olurdu (0
moloz için giriş olması gerekir). Ayrıca, yalnızca 21 saat boyunca Sandbox’a girdikten sonra , birden fazla kullanıcıdan oy almak veya geri bildirim almak için beklemeden mücadelenizi yayınlamak, "sanal alandan geçti" olarak sayılmaz. İnsanlara incelemeleri için bolca zaman tanımak için Sandbox'ta en az 48-72 saat boyunca zorluk bırakmanız önerilir.