З огляду на можливо вкладений, не порожній масив одноцифрових додатних цілих чисел (не гарантовано унікальних), виведіть ASCII-художнє представлення у вигляді дерева, використовуючи символи вікна, що малюють ┌ ┴ ┐ ─ │ ┬ ┼
. (Вони були скопійовані з коду сторінки 437, але ви можете використовувати будь-яке еквівалентне представлення).
Кожне ціле число масиву має бути листям дерева. Елементи одного рівня глибоко в масиві повинні бути присутніми на одному рівні дерева. Усі елементи повинні бути розділені достатньою кількістю пробілів, щоб їх було чітко (залежно від вас, щоб визначити, якою шириною буде мінімум один пробіл між ними).
Наприклад, заданий масив [[1, [2]], [3, [4, 5]]]
вивести наступне дерево
┌─┴─┐
┌┴┐ ┌┴─┐
1 │ 3 ┌┴┐
2 4 5
Для масиву [1, 2, 3]
може виглядати дерево
┌─┼─┐
1 2 3
Але масив [[1, 2, 3]]
виглядав би так
│
┌─┼─┐
1 2 3
Тоді як масив [1, [1, [1, [1]]]]
міг виглядати
┌─┴┐
1 ┌┴─┐
1 ┌┴┐
1 │
1
Як складніший приклад [1, [[[2, 3], 4], 5]]
може бути
┌┴───┐
1 ┌─┴┐
┌─┴┐ 5
┌┴┐ 4
2 3
або кілька інших варіацій.
- Введення та вихід можуть бути надані будь-яким зручним методом .
- Ви можете роздрукувати його до STDOUT або повернути його як результат функції.
- Прийнятна або повна програма, або функція.
- Будь-яка кількість сторонніх пробілів є прийнятною, доки символи не належним чином розташовуються.
- Стандартні лазівки заборонені.
- Це код-гольф, тому діють усі звичайні правила гольфу, і найкоротший код (у байтах) виграє.
1
являє собою масив з 3 -х елементів: [2,3]
, 4
, і 5
. Але 4 і 5 не є суміжними.
[1, [[[2, 3]], [4], 5]]
мені схоже .
[1,[[[2,3],4],5]]
може бути цікавим тестовим випадком, оскільки він повинен мати корінь штучно розширений, щоб праве піддерево не стикалося з лівим піддеревом.