Sebuah pohon H adalah struktur pohon fraktal yang dimulai dengan garis. Dalam setiap iterasi, cabang T ditambahkan ke semua titik akhir. Dalam tantangan ini, Anda harus membuat representasi ASCII dari setiap level H pohon kedua .
The tingkat pertama hanya berisi tiga karakter tanda hubung minus:
---
Tingkat selanjutnya dibangun secara rekursif:
- Buat matriks 2x2 salinan dari level sebelumnya, dipisahkan oleh tiga spasi atau garis.
- Hubungkan pusat salinan dengan garis seni ASCII dalam bentuk H. Gunakan
-
untuk garis horizontal,|
untuk garis vertikal, dan+
setiap kali garis bertemu satu sama lain.
Tingkat kedua
-+- -+-
| |
+-----+
| |
-+- -+-
Tingkat ketiga
-+- -+- -+- -+-
| | | |
+--+--+ +--+--+
| | | | | |
-+- | -+- -+- | -+-
| |
+-----------+
| |
-+- | -+- -+- | -+-
| | | | | |
+--+--+ +--+--+
| | | |
-+- -+- -+- -+-
Aturan
- Input adalah bilangan bulat yang mewakili tingkat pohon H seni ASCII seperti yang dijelaskan di atas ( bukan tingkat pohon H yang sebenarnya), baik yang diindeks nol atau satu.
- Keluaran fleksibel. Misalnya, Anda dapat mencetak hasilnya atau mengembalikan string yang dipisahkan baris baru, daftar string untuk setiap baris, atau array karakter 2D.
- Anda harus menggunakan
-
,|
,+
dan karakter ruang. - Trailing space dan hingga tiga trailing white-space diperbolehkan.
Ini golf kode. Jawaban terpendek dalam byte menang.