Вступление
Из Википедии :
Тесселяция плоской поверхности является разбиение плоскости с использованием одного или более геометрических фигур, называемых плиток, без каких - либо наложений и без пробелов.
Довольно хорошо известная тесселяция показана ниже:
Ромбы выложены плиткой таким образом, чтобы не было перекрытий или разрывов, и имитирует чередующиеся столбцы кубов.
задача
Ваша задача - написать программу, которая создает тесселяцию ромбов так же, как на картинке выше. Входными данными для программы будут размеры тесселяции: height x width
где ширина - это количество столбцов, а высота - это количество строк.
Единственный куб 1 x 1
(3 плитки ромба) представлен именно так:
_____
/\ \
/ \ \
/ \ _____\
\ / /
\ / /
\/_____ /
Итак, если вход / размеры есть 3 x 2
, это должен быть вывод:
_____
/\ \
/ \ \
/ \ _____\ _____
\ / /\ \
\ / / \ \
\/_____ / \ _____\
/\ \ / /
/ \ \ / /
/ \ _____\/_____ /
\ / /\ \
\ / / \ \
\/_____ / \ _____\
/\ \ / /
/ \ \ / /
/ \ _____\/_____ /
\ / /\ \
\ / / \ \
\/_____ / \ _____\
\ / /
\ / /
\/_____ /
Как видите, есть 3 строки (высота) и 2 столбца (ширина). Колонны чередуются вверх и вниз. Ваша программа должна сделать это тоже и начать выше. Например, 3 x 3
будет:
_____ _____
/\ \ /\ \
/ \ \ / \ \
/ \ _____\ _____ / \ _____\
\ / /\ \ / /
\ / / \ \ / /
\/_____ / \ _____\/_____ /
/\ \ / /\ \
/ \ \ / / \ \
/ \ _____\/_____ / \ _____\
\ / /\ \ / /
\ / / \ \ / /
\/_____ / \ _____\/_____ /
/\ \ / /\ \
/ \ \ / / \ \
/ \ _____\/_____ / \ _____\
\ / /\ \ / /
\ / / \ \ / /
\/_____ / \ _____\/_____ /
\ / /
\ / /
\/_____ /
правила
- Результат должен быть выведен, ввод может быть принят любым способом, который вам нравится, но должен соответствовать высоте и ширине
- Конечные переводы разрешены
- Столбцы тесселяции всегда начинаются сверху, затем чередуются вверх и вниз
- Стороны тесселяции должны быть общими, и тесселяции должны быть правильно размещены между другими столбцами без пробелов
- Ваше представление может быть функцией или полной программой
- Ваша программа должна печатать точно вывод, приведенный выше, с тем же вводом; другими словами, выходные данные должны иметь одинаковый формат для кубов / тесселяций
Предположения
- Вы можете предположить, что ввод всегда будет больше
1 x 1
, поэтому вам не нужны случаи, когда вводится ноль
счет
Это код-гольф , поэтому выигрывает самый короткий код в байтах. Стандартные лазейки также запрещены.