Le voyage de l'ivrogne à la maison
Dans ce défi, vous devez écrire un programme qui simule un ivrogne trébuchant en rentrant du bar.
Contribution:
L'entrée sera une matrice d'adjacence (représentant un graphe orienté) qui représente les chemins que l'ivrogne peut emprunter. À chaque emplacement, l'ivrogne choisira un chemin au hasard (chaque option a une chance approximativement égale et est indépendante des choix antérieurs) à suivre.
Supposons que l'ivrogne commence toujours à la barre (première ligne de la matrice d'adjacence).
Si l'ivrogne entre dans une impasse, on peut supposer qu'il est soit rentré chez lui ou qu'il a été arrêté pour intoxication publique et que le programme devrait reprendre son chemin.
On peut supposer que le graphique contiendra toujours au moins une impasse.
On peut également supposer que l'ivrogne sera toujours en mesure de sortir de la barre (la première ligne ne sera pas tous des zéros) et que si l'ivrogne serait coincé dans un emplacement, que la ligne serait représentée par tous les zéros.
Sortie:
Le résultat sera le chemin emprunté par l'ivrogne pour tenter de rentrer chez lui. Les valeurs des emplacements peuvent être zéro ou un indexé.
Exemples:
Input
[1,0,1,1]
[0,0,0,0]
[1,0,0,0]
[1,1,1,1]
Possible Outputs
[0,2,0,3,2,0,0,3,1]
[0,3,0,3,1]
Input
[0,1,1,1,0,1]
[1,0,1,0,1,1]
[0,0,0,0,0,0]
[0,0,0,0,0,1]
[1,0,0,0,0,0]
[0,0,0,0,0,0]
Possible outputs
[0,1,5]
[0,5]
[0,1,4,0,2]
[0,3,5]
[0,3,0,1,4,0,5]
Deterministic path:
Input
[0,0,1,0]
[0,0,0,1]
[0,1,0,0]
[0,0,0,0]
Output
[0,2,1,3]
[ '1011', '0000', '1000', '1111' ]
?
i
avec tous les zéros sauf dans la colonne i
?
0
liens vers 1,2,3,5
, mais la dernière sortie va de 0
à4