Desafío
¡Acabas de comprar una silla nueva! El problema es que no tienes idea de cómo controlarlo, por lo que deberás escribir un programa que lo haga por ti.
Solo puedes sentarte en la silla sin ajustar durante tanto tiempo. Por lo tanto, su código deberá ser lo más breve posible.
Ejemplos
5,3,2,2,1
O
|
|
| _
| |
|_|_
|
|
O
3,5,2,3,5
O
| _
| |
|__|__
|
|
__|__
OOOOO
2,13,1,1,13
O
| _
|______|______
______|______
OOOOOOOOOOOOO
¿Soy el único que piensa que esto parece un avión?
Partes de la silla
La silla tiene varios componentes:
O
|
| <- Backrest
| _ <- Armrest
| |
|__|__ <- Seat
|
| <- Leg
_|_
OOO <- Wheels
Entrada
Estarás sacando una silla dadas varias variables.
La entrada estará en el siguiente orden, todas las entradas serán números enteros positivos (siempre mayores que 0) y siempre se proporcionarán.
- Altura del respaldo
- Ancho del asiento siempre impar
- Altura del reposabrazos Siempre menor que la altura del respaldo
- Altura de la pierna
- Recuento de ruedas Siempre menor o igual que el ancho del asiento y Siempre impar
Descripciones detalladas de partes
Las partes de la silla son:
Respaldo: Esta cantidad |
es la altura del respaldo
O
|
|
Asiento: la cantidad _
es el ancho del asiento , inserte un |
en el medio para el reposabrazos.
__|__
Reposabrazos: la cantidad |
es la altura del reposabrazos . Esto debe insertarse en el medio del asiento.
_
|
|
Pierna: la cantidad |
está determinada por la altura de la pierna
|
|
Ruedas: las ruedas están centradas debajo de las patas. Si son más de uno, todos menos la rueda central deben estar _
en la línea sobre ellos.
_ _
OOO
Salida
La salida puede tener una nueva línea final. Cada línea puede tener espacios finales. El espacio en blanco inicial no está permitido
Respuestas:
LabVIEW, 146 primitivas de LabVIEW
Esto se hizo mucho más grande de lo que imaginaba ...
Esta vez no habrá un GIF, por un lado, debido al tamaño, por otro lado, porque no hay forma de que alguien pueda seguir todos los datos que fluyen.
Funciona, a menos que obtenga LabVIEW y sugiera un proveedor de archivos, no habrá forma de verificarlo.
fuente
JavaScript (ES6), 197 bytes
Explicación
Bueno, esto se volvió bastante complicado bastante rápido. Solo comentaré lo que hace cada línea a un alto nivel. Esperemos que con este formato no sea demasiado difícil seguir a todos los operadores ternarios.
Prueba
Mostrar fragmento de código
fuente
Python 2, 157 bytes
Ejemplo:
3,7,1,2,5
fuente
JavaScript (ES6), 182
Una función anónima. Usando cadenas de plantilla, hay 3 nuevas líneas que son significativas e incluidas en el recuento de bytes.
Sin bucles, usando repetir para el mismo propósito.
Menos golf
Fragmento de prueba
fuente
SpecBAS -
185168 bytesAhora que SpecBAS permite
?
ser utilizado en lugar dePRINT
y no necesitaLET
antes de la asignación de variables, comienza a ser un poco mejor en el golf.También ayuda a que pueda especificar las posiciones de impresión y, x para evitar tener que trabajar mucho espacio. Esto imprime el respaldo, el asiento, los brazos y las piernas, luego las ruedas.
EDITAR:
para imprimir la parte posterior, reemplace un
FOR...NEXT
bucle con tubería + retorno multiplicado por la altura (("|"#13)*b
)fuente
Perl, 181 bytes
incluye +1 para
-n
. Poner en un archivo yecho 5,3,2,2,1 | perl -n file.pl
Con comentarios:
fuente