Prépa Code Connexion Inscription

Exercices de programmation pour classes préparatoires

← Retour aux exercices

Existence d'un chemin dans un labyrinthe

python ★★★☆☆

Un labyrinthe est represente par une liste de listes laby de taille n x m, ou : - 0 represente une case libre, - 1 represente un mur.

On part de la case (0, 0) (coin superieur gauche) et on cherche a atteindre la case (n-1, m-1) (coin inferieur droit). A chaque etape, on peut se deplacer sur une case libre voisine dans les quatre directions (haut, bas, gauche, droite).

Ecrire une fonction existe_chemin(laby) qui renvoie True s'il existe un chemin entre (0, 0) et (n-1, m-1), False sinon.

Si la case de depart ou d'arrivee est un mur, la fonction renvoie False.

Cet exercice se resout par un parcours de graphe (en largeur ou en profondeur) : les sommets sont les cases libres et deux cases sont reliees si elles sont adjacentes (haut/bas/gauche/droite).

Exemples

AppelRésultat attendu
existe_chemin([[0, 0], [0, 0]]) True
existe_chemin([[0, 1], [1, 0]]) False

Votre code

Connectez-vous pour soumettre du code.