introduction
Il y a un tronc de pommier positionné entre -2 et 2 sur l'axe des x, où quelques pommes tombent autour de lui:
| |
| |
<-------|---|------->
-2 2
Tous les jours, n pommes tombent. Chaque pomme conserve sa coordonnée x lorsqu'elle tombe directement au sol.
Mais s'il atterrit sur une autre pomme, il roulera selon les règles suivantes jusqu'à ce qu'il atteigne le sol ou une couche de support de pommes:
- Si l'espace à x + 1 à sa hauteur actuelle est vide, la pomme actuelle y va.
- Sinon, si l'espace à x-1 est vide, la pomme actuelle y va.
- Sinon, la pomme actuelle reste là où elle est au-dessus de cette autre pomme.
Défi
L'entrée sera les n positions de départ de chaque pomme dans l'ordre. Vous pouvez le prendre comme un tableau ou comme des nombres séparés ou de toute autre manière valide, assurez-vous simplement de l'expliquer dans votre réponse.
La sortie doit être un dessin ASCII du tronc d'arbre et des pommes autour. Vous n'êtes pas obligé de dessiner l'axe des x à gauche de la pomme la plus à gauche et à droite de la pomme la plus à droite, mais vous devez le dessiner partout où il se trouve sous une pomme. Vous pouvez également étendre l'arbre au-dessus de la pomme la plus haute.
Vous pouvez supposer que toutes les coordonnées x sont comprises entre -100 et 100, mais pas entre -2 et 2.
C'est le code-golf . La réponse la plus courte en octets gagne!
Exemples
Contribution: [-3, 5, 5, -4, -4, 5, -3]
Production:
a| |
aaa| | aaa
---|---|----
Contribution: [3, 3, 3, 3, 8, 9]
Production:
| |a
| |aaa aa
|---|-------
Contribution: [-5, -5, -5, -5, -5, -5, -5, -5, -5]
Production:
a | |
aaa | |
aaaaa| |
-----|---|
Réponses:
PHP, 230 octets
J'ai ajouté les deux premières nouvelles lignes pour la lisibilité.
Ideone
Voici la version non golfée:
la source
Python 2.7, 282 octets
Ideone
Eh bien… j'ai essayé.
la source