İşte Jack-o-Lantern'e oyulmuş bir ASCII balkabağı. Sevimli değil mi?
((^v^))
İşte bir ASCII hayaleti. Bak ne kadar ürkütücü!
\{O.O}/
Açıkçası, kabaklar yerde olmalı, aralarında boşluk olmalı, böylece çürümezler.
Bununla birlikte, hayaletler balkabağının üstünde durmayı severler, bu yüzden onlar bile spookier . Bununla birlikte, iki balkabağının üzerinde durmaları gerekir , aksi takdirde hayalet ağırlıkları altındaki balkabağını ezecektir. Ancak, hayalet sihirlerinin nasıl çalıştığı nedeniyle , hayaletlerin ya alt balkabaklarına ya da alt hayaletlere eşit olarak bölünmesi şartıyla, birden fazla hayalet kabakları istifleyebilir ve paylaşabilir. Başka bir deyişle, bir insan piramidi gibi bir şekil oluşturmak . Altında balkabağı olmadığı sürece hayaletlerin hayaletlerin üzerine istiflenemeyeceğini unutmayın (sihir böyle çalışır).
Negatif olmayan iki tamsayı göz önüne alındığında g
ve konakçıların ve umpkins p
sayısını temsil eden, yukarıdaki piramit yığınlama kurallarına uyarak mümkün olan en kompakt en soldaki formasyonu çıkarır. Artık kabaklar ve hayaletler (yani, piramidi oluşturmayanlar) sağa doğru yere gider.g
p
Açıklamak için, bu oluşumlar TAMAM (boş satırsonu ayrılmış) ve örnek G / Ç olarak işlev görür:
0p 1g
\{O.O}/
1p 0g
((^v^))
1p 1g
((^v^)) \{O.O}/
2p 1g
\{O.O}/
((^v^)) ((^v^))
2p 2g
\{O.O}/
((^v^)) ((^v^)) \{O.O}/
3p 1g
\{O.O}/
((^v^)) ((^v^)) ((^v^))
3p 2g
\{O.O}/ \{O.O}/
((^v^)) ((^v^)) ((^v^))
3p 3g
\{O.O}/
\{O.O}/ \{O.O}/
((^v^)) ((^v^)) ((^v^))
0p 4g
\{O.O}/ \{O.O}/ \{O.O}/ \{O.O}/
3p 0g
((^v^)) ((^v^)) ((^v^))
7p 6g
\{O.O}/
\{O.O}/ \{O.O}/
\{O.O}/ \{O.O}/ \{O.O}/
((^v^)) ((^v^)) ((^v^)) ((^v^)) ((^v^)) ((^v^)) ((^v^))
Bu oluşumlar iyi değil
\{O.O}/
((^v^))
\{O.O}/
((^v^))
((^v^)) ((^v^)) \{O.O}/
\{O.O}/
\{O.O}/
((^v^)) ((^v^))
\{O.O}/
\{O.O}/ ((^v^)) ((^v^))
((^v^))
((^v^)) ((^v^))
\{O.O}/
((^v^)) ((^v^))
Giriş
Herhangi bir uygun biçimde iki negatif olmayan tamsayı . Sayılardan en az biri sıfırdan farklı olacaktır. Girişleri her iki sırayla da alabilirsiniz (yani, önce balkabağım olan örneklerde) - lütfen cevabınızda nasıl girdi alacağınızı belirtin.
Çıktı
Yukarıdaki kurallara uyarak hayaletlerin ve kabakların ASCII-sanat temsili. Öncü / sondaki yeni satırlar veya diğer boşluklar, hayaletlerin ve kabakların uygun şekilde hizalanması koşuluyla isteğe bağlıdır.
kurallar
- Tam bir program veya bir işlev kabul edilebilir. Bir işlev varsa, çıktıyı yazdırmak yerine döndürebilirsiniz.
- Standart boşluklar yasaktır.
- Bu kod golfüdür, bu nedenle her zamanki golf kuralları geçerlidir ve en kısa kod (bayt cinsinden) kazanır.