Introducción
Hay un tronco de manzano ubicado entre -2 y 2 en el eje x, donde algunas manzanas caen a su alrededor:
| |
| |
<-------|---|------->
-2 2
Todos los días, n manzanas caen. Cada manzana mantiene su coordenada x cuando cae directamente al suelo.
Pero si cae sobre otra manzana, rodará de acuerdo con las siguientes reglas hasta que llegue al suelo o una capa de manzanas de soporte:
- Si el espacio en x + 1 en su altura actual está vacío, la manzana actual va allí.
- De lo contrario, si el espacio en x-1 está vacío, la manzana actual va allí.
- De lo contrario, la manzana actual permanece donde está encima de esa otra manzana.
Desafío
La entrada serán las n posiciones iniciales de cada manzana en orden. Puede tomarlo como una matriz o como números separados o de cualquier otra manera válida, solo asegúrese de explicarlo en su respuesta.
El resultado debe ser un dibujo ASCII del tronco del árbol y las manzanas alrededor. No es necesario que dibuje el eje x a la izquierda de la manzana más a la izquierda y a la derecha de la manzana más a la derecha, pero debe dibujarlo en cualquier lugar debajo de alguna manzana. También puede extender el árbol sobre la manzana más alta.
Puede suponer que todas las coordenadas x están entre -100 y 100, pero no entre -2 y 2.
Este es el código de golf . ¡La respuesta más corta en bytes gana!
Ejemplos
Entrada: [-3, 5, 5, -4, -4, 5, -3]
Salida:
a| |
aaa| | aaa
---|---|----
Entrada: [3, 3, 3, 3, 8, 9]
Salida:
| |a
| |aaa aa
|---|-------
Entrada: [-5, -5, -5, -5, -5, -5, -5, -5, -5]
Salida:
a | |
aaa | |
aaaaa| |
-----|---|
Respuestas:
PHP, 230 bytes
He agregado las dos primeras líneas nuevas para la lectura.
Ideone
Aquí está la versión sin golf:
fuente
Python 2.7, 282 bytes
Ideone
Bueno, yo traté.
fuente