Problème de traversée de rivière

Enoncé

Un Berger, un Loup, un Mouton, et un Choux doivent traverser une rivière.
Ils ont une barque à leur disposition mais elle n'a que deux places et seul le Berger sait ramer.
De plus celui-ci ne peut laisser sans surveillance les tandems Loup/Mouton et Mouton/Choux.
Comment doit-il organiser les traversées?

Création des types

Remarque par convention

Génération du graphe associé au système

Génération des sommets

Génération des arrêtes

Exercice

Coder un fonction (récursive) permettant de résoudre le problème.

Exercice

Reprendre l'exercice avec une fonction calcule_chemin renvoyant un chemin connectant les deux sommets s'il existe.

Exercice

Reprendre l'exercice avec un graphe représenté par un dictionnaire d'adjacence. (mathématiquement une fonction qui à un sommet associe l'ensemble de ses voisins)