Wyzwanie
Napisz program, który pobiera tablicę liczb całkowitych 11 x 11 i konstruuje budowę bloku 3D ASCII, gdzie każda wartość w tablicy reprezentuje wysokość kolumny bloków o współrzędnych pasujących do pozycji tablicy. Wysokość ujemna to kolumna „pływająca” - widoczny jest tylko górny blok.
Przykład
__________________
___ /\__\__\__\__\__\__\
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, \/\__\ \/__/__/__/__/ \/\__\
\/\__\_________ ______\/\__\
\/\__\__\__\__\ /\__\__\__\__\
\/__/__/__/__/ \/__/__/__/__/
Wejście
Wejście będzie listą 121 liczb całkowitych, odczytanych ze standardowego wejścia (wybór separatora zależy od Ciebie) lub przekazanych jako tablica (może być 1D lub 2D).
Wysokość będzie w zakresie od -11 do 11.
Wynik
Wygenerowany budynek można zapisać na standardowym ekranie, wyświetlić bezpośrednio na ekranie lub zwrócić jako ciąg oddzielony znakiem nowej linii.
Wiodące i końcowe białe znaki są dozwolone.
Zasady budowania
Kształt pojedynczego bloku 3D wygląda następująco:
___
/\__\
\/__/
A sześcian bloków 2x2x2 wygląda następująco:
______
/\__\__\
/\/\__\__\
\/\/__/__/
\/__/__/
Kiedy bloki zachodzą na siebie, wyższy blok ma pierwszeństwo przed dolnym, bloki z przodu mają pierwszeństwo przed tymi z tyłu, a bloki po lewej mają pierwszeństwo przed blokami po prawej. Jedynym szczególnym przypadkiem jest to, że górna linia bloku nigdy nie powinna zastępować znaków spacji za nim.
Interpretację wysokości kolumn można najlepiej wyjaśnić, patrząc z boku na dwuwymiarową reprezentację.
HEIGHT: 1 2 3 -3 -2 -1
__ __
__ |__| |__| __
__ |__| |__| |__| __
|__| |__| |__| |__|
Przypadki testowe
Jeśli chcesz wypróbować swoje rozwiązanie na kilku większej liczby wejść, ja już ułożyła kilka przypadków testowych tutaj .
Zwycięski
To jest golf golfowy , więc wygrywa najkrótsze przesłanie (w bajtach).