Будь-який звичайний шестикутник можна обробити алмазами, наприклад так:
______
/_/_/\_\
/_/\_\/\_\
/\_\/_/\/_/\
\/_/\_\/_/\/
\_\/_/\_\/
\_\_\/_/
Ми розглянемо вищенаведений розмір плитки 1
(оскільки сторони алмазів виготовлені з однієї /
або \
кожної). Виглядає такий же розмір плитки 2
:
____________
/ / /\ \
/___/___/ \___\
/ /\ \ /\ \
/___/ \___\/ \___\
/\ \ / /\ / /\
/ \___\/___/ \/___/ \
\ / /\ \ / /\ /
\/___/ \___\/___/ \/
\ \ / /\ \ /
\___\/___/ \___\/
\ \ \ / /
\___\___\/___/
Ваше завдання - отримати таку графічну плитку ASCII (за розміром 1
), як вхід, разом із додатним цілим числом N
(у десятковій чи одинарній формі ) із зазначенням розміру потрібного виводу. Потім слід вивести масштабовану версію тієї ж плитки.
Зауважте, що шестикутник може бути будь-якого розміру та розміром 1х1х1 (містить три діаманти).
Ні вхід, ні вихід не повинні містити жодних пробілів, а також більше провідних пробілів, ніж необхідно для вирівнювання форми шестикутника. І вхід, і вихід можуть необов'язково містити один зворотний новий рядок (цей вибір не повинен бути однаковим для введення та виводу).
Ви можете написати програму або функцію, взявши введення через STDIN (або найближчу альтернативу), аргумент командного рядка або аргумент функції та вивівши результат через STDOUT (або найближчу альтернативу), значення повернення функції або параметр функції (out).
Це кодовий гольф, тому найкоротша відповідь (у байтах) у виграші.
Приклад облицювання плит
Ось декілька вхідних обшивок, які ви можете використати для тестування ваших робіт.
__
/_/\
\_\/
____
/_/\_\
/\_\/_/\
\/_/\_\/
\_\/_/
______
/_/_/\_\
/_/\_\/\_\
/\_\/_/\/_/\
\/_/\_\/_/\/
\_\/_/\_\/
\_\_\/_/
________
/_/\_\_\_\
/\_\/\_\_\_\
/\/_/\/_/_/\_\
/\/\_\/_/_/\/\_\
\/\/_/\_\_\/\/_/
\/\_\/_/\_\/_/
\/\_\_\/_/_/
\/_/_/_/_/
Наступний фрагмент містить відповідні виходи для входів N = 1
через N = 6
.
N-1
провідні порожні рядки. :(