Tantangan
Tulis sebuah program yang mengambil array bilangan bulat 11x11, dan buat sebuah bangunan blok ASCII 3D, di mana setiap nilai dalam array mewakili ketinggian kolom blok pada koordinat yang sesuai dengan posisi array. Tinggi negatif adalah kolom "mengambang" - hanya blok atas yang terlihat.
Contoh
__________________
___ /\__\__\__\__\__\__\
3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /\__\ /\/\__\__\__\__\__\__\
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /\/__/ /\/\/__/__/__/__/__/__/
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /\/\__\ /\/\/\__\ /\/\/__/
1, 0, 0, 7,-7,-7,-7,-7, 7, 0, 0, \/\/\__\ /\/\/\/__/ /\/\/__/
0, 0, 0, 7,-7,-7,-7,-7, 7, 0, 0, \/\/__/ /\/\/\/\__\ /\/\/__/
0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, \/\__\ /\/\/\/\/__/ /\/\/__/
0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, \/__/ \/\/\/\/\__\_ \/\/__/
1, 0, 0, 4, 3, 2, 1, 0, 0, 0, 1, \/\/\/\/__/_\_ \/__/
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ___ \/\/\/__/__/_\_ ___
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, /\__\ \/\/__/__/__/_\ /\__\
1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, \/\__\ \/__/__/__/__/ \/\__\
\/\__\_________ ______\/\__\
\/\__\__\__\__\ /\__\__\__\__\
\/__/__/__/__/ \/__/__/__/__/
Memasukkan
Input akan menjadi daftar 121 bilangan bulat, baik dibaca dari stdin (pilihan pemisah terserah Anda), atau diteruskan sebagai array (bisa 1D atau 2D).
Ketinggian akan berada di kisaran -11 hingga 11.
Keluaran
Bangunan yang dihasilkan dapat ditulis ke stdout, ditampilkan langsung di layar, atau dikembalikan sebagai string yang dipisahkan baris baru.
Ruang putih terkemuka dan tertinggal diizinkan.
Peraturan Bangunan
Bentuk blok 3D individual terlihat seperti ini:
___
/\__\
\/__/
Dan kubus blok 2x2x2 terlihat seperti ini:
______
/\__\__\
/\/\__\__\
\/\/__/__/
\/__/__/
Ketika blok tumpang tindih, blok yang lebih tinggi diutamakan daripada yang lebih rendah, blok di depan diutamakan di belakang, dan blok di sebelah kiri diutamakan daripada yang di sebelah kanan. Satu-satunya kasus khusus adalah bahwa baris paling atas dari sebuah blok tidak boleh menimpa karakter non-spasi di belakangnya.
Interpretasi ketinggian kolom dapat dijelaskan dengan melihat representasi 2D dari samping.
HEIGHT: 1 2 3 -3 -2 -1
__ __
__ |__| |__| __
__ |__| |__| |__| __
|__| |__| |__| |__|
Uji Kasus
Jika Anda ingin mencoba solusi Anda pada beberapa input lagi, saya telah mengumpulkan beberapa test case di sini .
Kemenangan
Ini adalah kode-golf , sehingga pengiriman terpendek (dalam byte) menang.