Сегодняшняя задача состоит в том, чтобы нарисовать бинарное дерево таким красивым ascii-art, как этот пример:
/\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/\ /\
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/\ /\ /\ /\
/ \ / \ / \ / \
/ \ / \ / \ / \
/ \ / \ / \ / \
/\ /\ /\ /\ /\ /\ /\ /\
/ \ / \ / \ / \ / \ / \ / \ / \
/\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
Вам будет дано положительное целое число в качестве входных данных. Этот вход - высота дерева . Приведенный выше пример имеет высоту шесть.
Вы можете отправить либо полную программу, либо функцию, и вы можете использовать любой из наших методов ввода-вывода по умолчанию . Например, будет разрешено печатать дерево, возвращать строку с символами новой строки, возвращать массив двумерных символов, сохранять дерево в файл и т. Д.
Пробелы на каждой строке разрешены.
Вот несколько примеров входов и их соответствующих выходов:
1:
/\
2:
/\
/\/\
3:
/\
/ \
/\ /\
/\/\/\/\
4:
/\
/ \
/ \
/ \
/\ /\
/ \ / \
/\ /\ /\ /\
/\/\/\/\/\/\/\/\
5:
/\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/\ /\
/ \ / \
/ \ / \
/ \ / \
/\ /\ /\ /\
/ \ / \ / \ / \
/\ /\ /\ /\ /\ /\ /\ /\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
К сожалению, результат растет в геометрической прогрессии, поэтому трудно привести более масштабные примеры. Вот ссылка на выход за 8.
Как обычно, это задача для игры в гольф , поэтому применяются стандартные лазейки и стараются написать максимально короткую программу на любом языке, который вы выберете.
Удачного игры в гольф!