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 kpilha th contém kcaixas 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.MaxValuecomo entrada.
Integer.MaxValueou equivalente.
nen-1são relativamente excelentes. Duas vantagens nunca se sobrepõem.