A tarefa
Nesse desafio, sua tarefa é desenhar uma representação artística ASCII de várias pilhas de caixas de altura crescente. Você recebe como entrada o número de pilhas, que é um número inteiro positivo. A primeira pilha contém uma caixa de tamanho 2x2
. A segunda pilha contém 2 caixas de tamanho 3x3
. Em geral, a k
pilha th contém k
caixas de tamanho (k+1)x(k+1)
.
As bordas de cada caixa são desenhadas usando os caracteres -|+
e seu interior consiste em espaço em branco. Caixas adjacentes compartilham suas bordas e os cantos sempre devem ser desenhados +
, mesmo quando fazem parte de uma borda de outra caixa.
Exemplos
Saída para 1
:
++
++
Saída para 2
:
+-+
| |
+-+
++ |
++-+
Saída para 3
:
+--+
| |
| |
+--+
| |
+-+ |
| +--+
+-+ |
++ | |
++-+--+
Saída para 5
:
+----+
| |
| |
| |
| |
+----+
| |
| |
| |
+---+ |
| +----+
| | |
| | |
+---+ |
| | |
| +----+
+--+ | |
| +---+ |
| | | |
+--+ | |
| | +----+
+-+ +---+ |
| +--+ | |
+-+ | | |
++ | | | |
++-+--+---+----+
Regras e Pontuação
A entrada pode ser recebida do STDIN, como um argumento de linha de comando ou como um argumento de função. A saída deve ir para STDOUT ou equivalente mais próximo. Qualquer quantidade finita de espaço em branco à direita é permitida, assim como as novas linhas anteriores e à direita, mas não pode haver espaços precedentes extras.
Isso é código-golfe, então a menor contagem de bytes vence. As brechas padrão não são permitidas.
Integer.MaxValue
como entrada.
Integer.MaxValue
ou equivalente.
n
en-1
são relativamente excelentes. Duas vantagens nunca se sobrepõem.