L'obiettivo
In questa sfida, il tuo compito è quello di disegnare una rappresentazione artistica ASCII di diverse pile di scatole di altezza crescente. Ti viene dato come input il numero di stack, che è un numero intero positivo. Il primo stack contiene una casella di dimensioni 2x2. La seconda pila contiene 2 scatole di dimensioni 3x3. In generale, la kpila contiene kscatole di dimensioni (k+1)x(k+1).
I bordi di ogni riquadro sono disegnati usando i personaggi -|+e il loro interno è costituito da spazi bianchi. Le caselle adiacenti condividono i loro bordi e gli angoli devono sempre essere disegnati +, anche quando fanno parte di un bordo di un'altra casella.
Esempi
Uscita per 1:
++
++
Uscita per 2:
+-+
| |
+-+
++ |
++-+
Uscita per 3:
+--+
| |
| |
+--+
| |
+-+ |
| +--+
+-+ |
++ | |
++-+--+
Uscita per 5:
+----+
| |
| |
| |
| |
+----+
| |
| |
| |
+---+ |
| +----+
| | |
| | |
+---+ |
| | |
| +----+
+--+ | |
| +---+ |
| | | |
+--+ | |
| | +----+
+-+ +---+ |
| +--+ | |
+-+ | | |
++ | | | |
++-+--+---+----+
Regole e punteggio
L'input può essere ricevuto da STDIN, come argomento della riga di comando o come argomento della funzione. L'output deve andare su STDOUT o equivalente più vicino. È consentita qualsiasi quantità finita di spazi bianchi finali, così come lo sono le righe precedenti e finali, ma non possono esserci spazi precedenti aggiuntivi.
Questo è code-golf, quindi vince il numero di byte più basso. Le scappatoie standard non sono ammesse.
Integer.MaxValuecome input.
Integer.MaxValueo è equivalente.
nen-1sono relativamente primi. Due vantaggi non si sovrapporranno mai.