NSI (terminale) · Chapitre 4 · Exercice d'entraînement
Problème — Sortir d'un labyrinthe
Les graphes · Parcours · niveau 3 (difficile)
Énoncé
Problème — Sortir d'un labyrinthe.
Un labyrinthe est donné par une liste de chaînes de même longueur : # désigne un mur, . une case libre, S le départ et E la sortie. On se déplace d'une case à une case voisine libre (haut, bas, gauche, droite).
grille = ["S.#.....",
".##.###.",
"....#...",
"#.#...#E"]
- Expliquer comment voir ce labyrinthe comme un graphe. Faut-il construire ses listes d'adjacence à l'avance ?
- Écrire une fonction
plus_court(grille)qui renvoie le nombre minimal de déplacements pour aller deSàE, ou si la sortie est inaccessible. - Appliquer à la grille ci-dessus, puis à la même grille où la case libre à gauche de
E(ligne , colonne , en numérotant à partir de ) serait un mur.
Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.