Desafio
Você acabou de comprar uma cadeira nova! O problema é que você não tem idéia de como controlá-lo, portanto precisará escrever um programa para fazer isso por você.
Você só pode sentar na cadeira não ajustada por tanto tempo. Portanto, seu código precisará ser o mais curto possível.
Exemplos
5,3,2,2,1
O
|
|
| _
| |
|_|_
|
|
O
3,5,2,3,5
O
| _
| |
|__|__
|
|
__|__
OOOOO
2,13,1,1,13
O
| _
|______|______
______|______
OOOOOOOOOOOOO
Eu sou o único que pensa que isso parece um avião?
Peças de cadeira
A cadeira possui vários componentes:
O
|
| <- Backrest
| _ <- Armrest
| |
|__|__ <- Seat
|
| <- Leg
_|_
OOO <- Wheels
Entrada
Você produzirá uma cadeira com várias variáveis.
A entrada será na seguinte ordem, todas as entradas serão números inteiros positivos (sempre maiores que 0) e sempre serão fornecidas.
- Altura do encosto
- Largura do assento sempre ímpar
- Altura do apoio de braço Sempre menor que a altura do encosto
- Altura da perna
- Contagem de rodas Sempre menor ou igual à largura do assento e Sempre ímpar
Descrições detalhadas das peças
As partes da cadeira são:
Encosto: Esta quantidade |
é a altura do encosto
O
|
|
Assento: A quantidade de _
é a largura do assento , insira um |
no meio para o apoio de braço.
__|__
Apoio de braço: A quantidade de |
é a altura do apoio de braço . Isso deve ser inserido no meio do assento.
_
|
|
Perna: A quantidade de |
é determinada pela altura da perna
|
|
Rodas: as rodas estão centralizadas abaixo das pernas. Se eles são mais de um, todos, exceto a roda central, devem ter _
a linha acima deles.
_ _
OOO
Resultado
A saída pode ter uma nova linha à direita. Cada linha pode ter espaços à direita. Espaço em branco à esquerda não é permitido
Respostas:
LabVIEW, 146 Primitivas do LabVIEW
Isso ficou muito maior do que eu imaginava ...
Desta vez, não haverá um GIF, por um lado, por causa do tamanho, por outro, porque não há como alguém acompanhar todos os dados que fluem.
Funciona, a menos que você obtenha o LabVIEW e sugira um host de arquivos, não haverá como verificar.
fonte
JavaScript (ES6), 197 bytes
Explicação
Bem, isso ficou bastante complicado rapidamente. Vou apenas comentar o que cada linha faz em um nível alto. Felizmente, com essa formatação, não é muito difícil seguir todos os operadores ternários.
Teste
Mostrar snippet de código
fonte
Python 2, 157 bytes
Exemplo:
3,7,1,2,5
fonte
JavaScript (ES6), 182
Uma função anônima. Usando seqüências de caracteres de modelo, há 3 novas linhas significativas e incluídas na contagem de bytes.
Sem loops, usando a repetição para o mesmo objetivo.
Menos golfe
Snippet de teste
fonte
SpecBAS -
185168 bytesAgora que o SpecBAS permite
?
ser usado em vez dePRINT
e não precisaLET
antes da atribuição de variáveis, ele começa a ser um pouco melhor no golfe.Também ajuda a especificar as posições de impressão y, x para evitar a necessidade de muito espaçamento. Imprime costas, assento, braços e pernas e depois rodas.
EDITAR:
para imprimir o verso, substitua um
FOR...NEXT
loop por pipe + retorno multiplicado pela altura (("|"#13)*b
)fonte
Perl, 181 bytes
inclui +1 para
-n
. Coloque um arquivo eecho 5,3,2,2,1 | perl -n file.pl
Com comentários:
fonte