Gibi herhangi bir makul uygun formatta tamsayılar bir boş olmayan listesinde götüren bir program veya fonksiyon yazın 4, 0, -1, -6, 2
veya [4 0 -1 -6 2]
.
Listeyi ASCII sanat ormanı olarak tasvir eden bir dize yazdırın veya döndürün; burada her sayı orantılı yükseklikte bir ağaç olur. Her ağaç çıktıdaki dört metin sütununu aşağıdaki gibi alır:
Pozitif bir tamsayı N, tabanı
__|_
ve üstü olan^
ve aralarındaki N katmanları olan bir ağaç olur/ \
.Örneğin, N = 1 olduğunda ağaç
^ / \ __|_
N = 2 olduğunda ağaç
^ / \ / \ __|_
N = 3 olduğunda ağaç
^ / \ / \ / \ __|_
ve bunun gibi.
Negatif bir tamsayı N, karşılık gelen pozitif ağaç gibi olur, ancak dikey çubuk, boşluk yerine dal eğik çizgileri arasındadır.
Örneğin, N = -1 olduğunda ağaç
^ /|\ __|_
N = -2 olduğunda ağaç
^ /|\ /|\ __|_
N = -3 olduğunda ağaç
^ /|\ /|\ /|\ __|_
ve bunun gibi.
Tam sayı 0 olduğunda, teknik olarak hiçbir ağaç yoktur, sadece dört alt çizgiden oluşan boş bir alan vardır:
____
Her ağacın tabanındaki alt çizgiler çıktıda sıralanmalıdır, yani tüm ağaçların tabanları aynı seviyede olmalıdır. Ayrıca, son ağaçtan sonra alt çizgi çizgisinin sonuna tek bir alt çizgi eklenir. Bu, her ağacın her iki tarafında boş bir "hava" sütununa sahip olmasını sağlar.
Bir örnek olarak, çıkış 4 0 -1 -6 2
olur
^
/|\
^ /|\
/ \ /|\
/ \ /|\ ^
/ \ ^ /|\ / \
/ \ /|\ /|\ / \
__|_______|___|___|__
Ağaç desenlerinin her zaman önde gelen boş bir sütuna nasıl sahip olduğunu, ancak son ağacın sağ tarafını doldurmak için bir alt çizginin eklenmesi gerektiğini unutmayın.
Ayrıca:
- Herhangi bir satırdaki sondaki boşluklar iyidir, ancak gereksiz önde gelen boşluklar olmamalıdır.
- Baştaki satırsonlarına izin verilmez (en uzun ağacın çıktı metni ızgarasının üst kısmına dokunması gerekir) ve yalnızca bir satır sonrasına izin verilir.
- Liste, -250 ila 250 dahil herhangi bir tam sayı içerebilir. Uzun ağaçların kullanılması gerekli değildir.
Bayt cinsinden en kısa kod kazanır.
Daha fazla örnek
3
:
^
/ \
/ \
/ \
__|__
-2
:
^
/|\
/|\
__|__
0
:
_____
0, 0
:
_________
0, 1, 0
:
^
/ \
______|______
0, -1, 2, -3, 4
:
^
^ / \
^ /|\ / \
^ / \ /|\ / \
/|\ / \ /|\ / \
______|___|___|___|__
_
, son ağaçtan sonra bir iz (alt çizgi) eklemeyi unutmuş olabilirsiniz .