Виклик
Напишіть програму, яка займає масив цілих чисел 11x11, і побудує будівлю блоку 3D ASCII, де кожне значення масиву представляє висоту стовпця блоків за координатами, що відповідають положенню масиву. Негативна висота - це "плаваючий" стовпчик - видно лише верхній блок.
Приклад
__________________
___ /\__\__\__\__\__\__\
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, \/\__\ \/__/__/__/__/ \/\__\
\/\__\_________ ______\/\__\
\/\__\__\__\__\ /\__\__\__\__\
\/__/__/__/__/ \/__/__/__/__/
Вхідні дані
Вхід буде переліком 121 цілого числа, чи то прочитаного з stdin (вибір роздільника залежить від вас), так і переданого у вигляді масиву (може бути 1D або 2D).
Висоти будуть в діапазоні від -11 до 11.
Вихідні дані
Створена будівля може бути записана у stdout, відображатися безпосередньо на екрані або повертатися у вигляді рядка, розділеного новим рядком.
Простір провідних та кінцевих пробілів дозволений.
Правила побудови
Форма окремого 3D блоку виглядає приблизно так:
___
/\__\
\/__/
І куб блоків 2x2x2 виглядає так:
______
/\__\__\
/\/\__\__\
\/\/__/__/
\/__/__/
Коли блоки перекриваються, вищий блок має перевагу над нижчим, блоки спереду мають перевагу над тими, що повертаються назад, а блоки ліворуч мають перевагу над тими праворуч. Єдиний особливий випадок - це те, що верхній рядок блоку ніколи не повинен перезаписувати жоден непробільний символ за ним.
Інтерпретацію висот стовпчиків найкраще пояснити, поглянувши на 2D-зображення зі сторони.
HEIGHT: 1 2 3 -3 -2 -1
__ __
__ |__| |__| __
__ |__| |__| |__| __
|__| |__| |__| |__|
Випробування
Якщо ви хочете спробувати своє рішення на кілька більш входів, я поєднав кілька тестів тут .
Перемога
Це код-гольф , тому найкоротше подання (у байтах) виграє.