Tulis program atau fungsi yang menggunakan daftar bilangan bulat kosong dalam format apa pun yang masuk akal seperti 4, 0, -1, -6, 2
atau [4 0 -1 -6 2]
.
Cetak atau kembalikan string yang menggambarkan daftar sebagai hutan seni ASCII di mana setiap angka menjadi pohon dengan tinggi proporsional. Setiap pohon membutuhkan empat kolom teks dalam output sebagai berikut:
Bilangan bulat positif N menjadi pohon dengan alas
__|_
dan puncaknya^
, dengan lapisan N/ \
di antaranya.Misalnya, ketika N = 1 pohonnya
^ / \ __|_
ketika N = 2 pohonnya adalah
^ / \ / \ __|_
ketika N = 3 pohonnya
^ / \ / \ / \ __|_
dan seterusnya.
Bilangan bulat negatif N menjadi seperti pohon positif yang sesuai kecuali bilah vertikal berada di antara garis miring cabang bukannya spasi.
Misalnya, ketika N = -1 pohonnya
^ /|\ __|_
ketika N = -2 pohonnya adalah
^ /|\ /|\ __|_
ketika N = -3 pohonnya adalah
^ /|\ /|\ /|\ __|_
dan seterusnya.
Ketika bilangan bulat adalah 0 secara teknis tidak ada pohon, hanya ruang kosong empat garis bawah:
____
Garis bawah pada dasar setiap pohon harus berbaris dalam output, yaitu semua pohon harus memiliki basis pada tingkat yang sama. Juga, satu garis bawah ditambahkan ke akhir garis garis bawah setelah pohon terakhir. Ini membuatnya begitu setiap pohon memiliki kolom kosong "udara" di kedua sisi itu.
Sebagai contoh, hasilnya 4 0 -1 -6 2
adalah
^
/|\
^ /|\
/ \ /|\
/ \ /|\ ^
/ \ ^ /|\ / \
/ \ /|\ /|\ / \
__|_______|___|___|__
Perhatikan bagaimana pola pohon selalu memiliki kolom ruang kosong terdepan tetapi garis bawah harus ditambahkan untuk menempel di sisi kanan pohon terakhir.
Juga:
- Ruang tambahan pada garis apa pun baik-baik saja, tetapi seharusnya tidak ada ruang utama yang tidak perlu.
- Baris baru terkemuka tidak diizinkan (pohon tertinggi harus menyentuh bagian atas kotak teks keluaran) dan hanya hingga satu baris tambahan yang dibolehkan.
- Daftar ini dapat berisi bilangan bulat mulai dari -250 hingga 250 inklusif. Menangani pohon yang lebih tinggi tidak diperlukan.
Kode terpendek dalam byte menang.
Lebih banyak contoh
3
:
^
/ \
/ \
/ \
__|__
-2
:
^
/|\
/|\
__|__
0
:
_____
0, 0
:
_________
0, 1, 0
:
^
/ \
______|______
0, -1, 2, -3, 4
:
^
^ / \
^ /|\ / \
^ / \ /|\ / \
/|\ / \ /|\ / \
______|___|___|___|__
_
(garis bawah) setelah pohon terakhir.