introduction
J'ai des voitures ASCII qui ont de la vitesse et de la direction. Leur vitesse est représentée par leur nombre. Si une voiture l'est, <>
elle s'est arrêtée. Par exemple:
<>
1>
2>
3>
Après une seconde, je reçois
<>
1>
2>
3>
Après deux, je reçois
<>
1>
2>
3>
Si deux voitures sont trop proches, elles s'écrasent.
1> <1
1> <2
Après une seconde, cela devient
###
##
Si deux voitures se croisent, elles deviennent des hashtags où elles le seraient.
Si une voiture est assez rapide pour «sauter» sur l'autre, cela n'entraîne pas de crash.
3><1 2><1 4><>
devient
<13> ### <>4>
Si une voiture disparaît hors écran, elle disparaît (sauf en cas d'accident). Il n'y a aucun moyen pour une voiture de sortir directement de l'écran.
<11>
<1 1>
1 1>
1>
Défi
Sur la base de la physique de la voiture donnée, vous devez créer un programme qui peut avancer d'une seconde dans le temps. L'entrée sera des voitures avec des espaces et une vitesse maximale de 5 (correspondant à l'expression régulière (<[1-5]|[1-5]>|<>| )+
). La simulation se fera sur une seule ligne, mais cette ligne n'a pas de taille fixe.
Cas de test
<> 1> 2> 3> 4> 5>
<> 1> 2> 3> 4> 5>
1><1 1> <1 1> <1
## ### 1><1
2><2 2> <2 2> <2 2> <2 2> <2
<22> ### ## ### 2><2
<22> <1 3> <2
### ##
<><> 1><> 2><> 3><> 4><> 5><>
<><> ### ## ### <>4> <> 5>
<><1 <2 <3 <4 <5
###<2<3<4<5
Notation
C'est du code-golf , donc le code avec le plus petit nombre d'octets gagne!
<>
une des vitesses 0