Піраміди майя були (і є) важливою частиною античної архітектури, яку зазвичай використовували в релігійних цілях.
Зазвичай вони були сходовими пірамідами, але сходи на кожній були занадто крутими, щоб піднятися. Священики піднімаються до їх вершин через альтернативні сходи для проведення церемоній. Піраміди також використовувались як орієнтири через їх висоту, а іноді навіть використовувались як місця поховань для високопосадовців.
Змагання
Напишіть програму, яка може роздрукувати схему піраміди на основі специфікацій користувача (див. Нижче).
Вимоги
Візьміть вхід двох змінних пробілів.
Вхід повинен бути прийнятий через STDIN (або найближчу альтернативу).
Вихід повинен бути через STDOUT (або найближчу альтернативу).
Вхідні дані
Висота як будь-яке додатне ціле число. Він використовується як ширина базового рівня (в блоках). Кожен наступний рівень піраміди має ширину,
n - 1
де ширинаn
попереднього поверху (в блоках).Розмір блоку, який буде дорівнює 1, або будь-яке непарне, додатне ціле число ≤ (менше) 10.
Блоки
Даний розмір блоку визначає ширину (і висоту) кожного окремого шматка. По суті, i^2
всередині видимого поля є пробіли, де i
розмір блоку.
Блок 1x1 виглядатиме так:
+++
| |
+++
Хоча блок 5x5 виглядатиме так:
+++++++
| |
| |
| |
| |
| |
+++++++
Горизонтально сусідні блоки
Блоки горизонтально бічних сторін повинні мати їх середні стінки об'єднані в одну.
Ви повинні мати це:
+++++
| | |
+++++
Замість чогось подібного:
++++++
| || |
++++++
Вертикально сусідні блоки (-5% бонус)
Вертикально-бічні блоки мають особливий виняток: середню стіну можна об’єднати в одну.
Отже, замість 1x1 блоків виглядає так:
+++
| |
+++
+++++
| | |
+++++
Вони могли виглядати так:
+++
| |
+++++
| | |
+++++
Приклади
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
?