Le piramidi Maya erano (e sono) una parte importante dell'architettura antica, che erano generalmente utilizzate per scopi religiosi.
Di solito erano piramidi a gradoni, ma i gradini su ciascuno erano troppo ripidi per salire. I sacerdoti salivano in cima a loro tramite scale alternative per celebrare le cerimonie. Le piramidi venivano anche utilizzate come punti di riferimento a causa della loro altezza e talvolta venivano addirittura utilizzate come siti di sepoltura per funzionari di alto rango.
La sfida
Scrivi un programma in grado di stampare uno schema piramidale basato sulle specifiche dell'utente (vedi sotto).
Requisiti
Prendi un input di due variabili separate da spazio.
L'ingresso deve essere accettato tramite STDIN (o l'alternativa più vicina).
L'output deve essere tramite STDOUT (o l'alternativa più vicina).
Ingresso
Altezza come qualsiasi numero intero positivo. Viene utilizzato come larghezza del livello di base (in blocchi). Ogni livello successivo della piramide ha la larghezza in
n - 1cui sintrova la larghezza del piano precedente (in blocchi).Dimensione del blocco che sarà 1 o qualsiasi numero intero dispari e positivo ≤ (minore di) 10.
blocchi
La dimensione del blocco determinata determina la larghezza (e l'altezza) di ogni singolo pezzo. In sostanza, ci sono i^2spazi all'interno del riquadro visibile in cui si itrova la dimensione del blocco.
Un blocco 1x1 sarebbe simile al seguente:
+++
| |
+++
Mentre un blocco 5x5 sarebbe simile al seguente:
+++++++
| |
| |
| |
| |
| |
+++++++
Blocchi adiacenti orizzontalmente
I blocchi orizzontalmente fianco a fianco devono avere le pareti centrali unite in uno.
È necessario avere questo:
+++++
| | |
+++++
Invece di qualcosa del genere:
++++++
| || |
++++++
Blocchi adiacenti verticalmente (bonus del -5%)
I blocchi affiancati verticalmente hanno un'eccezione speciale: il muro centrale può essere unito in uno solo.
Quindi, anziché i blocchi 1x1 in questo modo:
+++
| |
+++
+++++
| | |
+++++
Essi potrebbero assomigliare a questo:
+++
| |
+++++
| | |
+++++
Esempi
Input: 3 1
Output:
+++
| |
+++
+++++
| | |
+++++
+++++++
| | | |
+++++++
OR
+++
| |
+++++
| | |
+++++++
| | | |
+++++++
Input: 2 3
Output:
+++++
| |
| |
| |
+++++
+++++++++
| | |
| | |
| | |
+++++++++
OR
+++++
| |
| |
| |
+++++++++
| | |
| | |
| | |
+++++++++
tabellone segnapunti
Per essere classificato sul tabellone segnapunti, inserisci la tua risposta in questo formato:
# Language, Score
O se ricevi il bonus -5%:
# Language, Score (Bytes - 5%)
Il tuo punteggio è solo un numero intero. Se il tuo punteggio è un decimale, arrotonda per eccesso all'intero numero.
3 2?
2 3, sarebbe uscire quando n - 1 = 0, dove nè la larghezza del piano precedente in blocchi.
1 1?