Предыстория
Отказ от ответственности: может содержать вымышленную информацию о кенгуру.
Кенгуру пересекают несколько этапов развития. Когда они становятся старше и сильнее, они могут прыгать выше и дольше, и они могут прыгать больше раз, прежде чем проголодаться.
На стадии 1 , кенгуру очень мало и не может прыгать на всех. Несмотря на это, постоянно требует питания. Мы можем представить образец активности кенгуру на стадии 1 , как этот.
o
На стадии 2 , кенгуру может делать небольшие прыжки, но не более чем 2 , прежде чем он проголодается. Мы можем представить стадии 2 образец активности кенгуру , как это.
o o
o o o
После стадии 2 кенгуру быстро улучшается. На каждом последующем этапе кенгуру может прыгать немного выше (1 единица в графическом представлении) и в два раза больше. Например, шаблон активности кенгуру на стадии 3 выглядит следующим образом.
o o o o
o o o o o o o o
o o o o o
Для стадии n модель активности состоит из 2 n-1 V-образных прыжков с высоты n .
Например, для этапа 4 есть 8 прыжков на высоту 4 .
o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o
задача
Напишите полную программу или функцию, которая принимает положительное целое число n в качестве входных данных и печатает или возвращает художественное представление ASCII шаблона активности кенгуру stage n .
Допускается окружающий пробел и escape-коды ANSI, если шаблон выглядит точно так, как показано выше.
Если вы выбираете функцию, которая возвращает выходные данные, она должна возвращать одну строку или массив символов, который отображает правильный вывод при печати. Возвращение массива строк не допускается.
Вместо этого вы можете использовать любой печатный символ без пробелов o
, если он согласован с шаблоном действия и со всеми шаблонами в вашем ответе.
Это код-гольф ; пусть победит самый короткий ответ в байтах!
o
. Можете ли вы также использовать какой-либо символ для представления пробелов (если они отличаются?)?