Пирамиды майя были (и являются) важной частью древней архитектуры, которая обычно использовалась в религиозных целях.
Обычно они были ступенчатыми пирамидами, но ступеньки на каждой ступени были слишком крутыми, чтобы карабкаться. Священники поднимались на их вершины по альтернативным лестницам, чтобы совершать церемонии. Пирамиды также использовались как ориентиры из-за их высоты, а иногда даже использовались как места захоронения для высокопоставленных чиновников.
Соревнование
Напишите программу, которая может распечатать схему пирамиды на основе пользовательских спецификаций (см. Ниже).
Требования
Возьмите ввод двух разделенных пробелами переменных.
Ввод должен быть принят через STDIN (или ближайшую альтернативу).
Выход должен быть через STDOUT (или ближайшую альтернативу).
вход
Высота как любое положительное целое число. Это используется в качестве ширины базового уровня (в блоках). Каждый последующий уровень пирамиды имеет ширину,
n - 1
где ширинаn
предыдущего этажа (в блоках).Размер блока, который будет 1 или любое нечетное, положительное целое число ≤ (меньше) 10.
Блоки
Данный размер блока определяет ширину (и высоту) каждого отдельного куска. По сути, естьi^2
внутри видимого поля есть места, гдеi
находится размер блока.
Блок 1x1 будет выглядеть так:
+++
| |
+++
Хотя блок 5х5 будет выглядеть так:
+++++++
| |
| |
| |
| |
| |
+++++++
Горизонтально смежные блоки
Горизонтально бок о бок блоки должны быть объединены в одну среднюю стенку.
Вы должны иметь это:
+++++
| | |
+++++
Вместо чего-то вроде этого:
++++++
| || |
++++++
Вертикально смежные блоки (бонус -5%)
Вертикально расположенные бок о бок блоки имеют особое исключение: среднюю стенку можно объединить в одну.
Итак, вместо блоков 1х1, выглядящих так:
+++
| |
+++
+++++
| | |
+++++
Они могут выглядеть так:
+++
| |
+++++
| | |
+++++
Примеры
Input: 3 1
Output:
+++
| |
+++
+++++
| | |
+++++
+++++++
| | | |
+++++++
OR
+++
| |
+++++
| | |
+++++++
| | | |
+++++++
Input: 2 3
Output:
+++++
| |
| |
| |
+++++
+++++++++
| | |
| | |
| | |
+++++++++
OR
+++++
| |
| |
| |
+++++++++
| | |
| | |
| | |
+++++++++
Табло
Чтобы попасть на табло, поместите свой ответ в следующем формате:
# Language, Score
Или, если вы получаете бонус -5%:
# Language, Score (Bytes - 5%)
Ваша оценка - это всего лишь целое число. Если ваш счет десятичный, округлите до целого числа.
3 2
произвел бы вклад ?
2 3
он будет выходить , когда , n - 1 = 0
где n
это ширина предыдущего Floor в блоках.
1 1
?