Piramidy Majów były (i są) ważną częścią starożytnej architektury, które były na ogół wykorzystywane do celów religijnych.
Były to zazwyczaj piramidy schodkowe, ale stopnie na każdej z nich były zbyt strome, aby się wspinać. Kapłani wspinali się na ich szczyt przez alternatywne schody, aby odprawiać ceremonie. Piramidy były również używane jako punkty orientacyjne ze względu na ich wysokość, a czasem nawet jako miejsca pochówku dla wysokich rangą urzędników.
Wyzwanie
Napisz program, który może wydrukować schemat piramidy na podstawie specyfikacji użytkownika (patrz poniżej).
Wymagania
Weź dwie zmienne rozdzielone spacjami.
Dane wejściowe muszą zostać zaakceptowane przez STDIN (lub najbliższą alternatywę).
Dane wyjściowe muszą być przesyłane przez STDOUT (lub najbliższą alternatywę).
Wejście
Wysokość jak każda dodatnia liczba całkowita. Jest to używane jako szerokość poziomu podstawowego (w blokach). Każdy kolejny poziom piramidy ma szerokość,
n - 1
gdzien
jest szerokość poprzedniej podłogi (w blokach).Rozmiar bloku, który będzie wynosił 1 lub dowolna nieparzysta, dodatnia liczba całkowita ≤ (mniejsza niż) 10.
Bloki
Podany rozmiar bloku określa szerokość (i wysokość) każdego pojedynczego elementu. Zasadniczo i^2
w widocznym polu znajdują się spacje, w których i
jest rozmiar bloku.
Blok 1x1 wyglądałby tak:
+++
| |
+++
Podczas gdy blok 5x5 wyglądałby tak:
+++++++
| |
| |
| |
| |
| |
+++++++
Bloki przylegające poziomo
Poziomo obok siebie bloki muszą mieć połączone środkowe ściany w jedną.
Państwo musi mieć w ten sposób:
+++++
| | |
+++++
Zamiast czegoś takiego:
++++++
| || |
++++++
Bloki przylegające pionowo (bonus -5%)
Bloki ustawione pionowo obok siebie mają specjalny wyjątek: środkową ścianę można połączyć w jedną.
Zamiast bloków 1x1 wygląda to tak:
+++
| |
+++
+++++
| | |
+++++
Oni mógłby wyglądać następująco:
+++
| |
+++++
| | |
+++++
Przykłady
Input: 3 1
Output:
+++
| |
+++
+++++
| | |
+++++
+++++++
| | | |
+++++++
OR
+++
| |
+++++
| | |
+++++++
| | | |
+++++++
Input: 2 3
Output:
+++++
| |
| |
| |
+++++
+++++++++
| | |
| | |
| | |
+++++++++
OR
+++++
| |
| |
| |
+++++++++
| | |
| | |
| | |
+++++++++
Tablica wyników
Aby znaleźć się na liście wyników, umieść odpowiedź w tym formacie:
# Language, Score
Lub jeśli otrzymasz bonus -5%:
# Language, Score (Bytes - 5%)
Twój wynik to tylko liczba całkowita. Jeśli twój wynik jest dziesiętny, zaokrąglij w górę do liczby całkowitej.
3 2
wytworzy wkład ?
2 3
, to wyjść, kiedy n - 1 = 0
, gdzie n
jest szerokość poprzedniego piętrze w blokach.
1 1
?