algorithmique (école d'ingénieur) · Chapitre 5 · Exercice de TD
Le robot part de n'importe où
Chemins de valeur optimale · niveau 2
Énoncé
Le robot peut partir de n'importe quelle case de la ligne et doit arriver sur n'importe quelle case de la ligne ; ses déplacements sont NO, N et NE (il monte d'une ligne à chaque pas).
- Écrire la récurrence de la valeur maximum d'un chemin qui arrive en . Où lire la réponse ?
- Programmer et exécuter sur la grille du chapitre. Ce problème est le cœur du chapitre suivant.
Corrigé
- Base. : (on peut partir de partout).
Hérédité. , : , les termes hors de la grille étant omis.
La réponse est : on arrive où l'on veut. -
for (int c = 0; c < C; c++) M[0][c] = G[0][c]; // base
for (int l = 1; l < L; l++) // par lignes croissantes
for (int c = 0; c < C; c++) {
int p = M[l - 1][c];
if (c > 0) p = Math.max(p, M[l - 1][c - 1]);
if (c < C - 1) p = Math.max(p, M[l - 1][c + 1]);
M[l][c] = p + G[l][c];
}
ligne 4 : [21, 22, 24, 29, 19]
ligne 3 : [11, 20, 21, 22, 8]
ligne 2 : [4, 11, 16, 11, -7]
ligne 1 : [-2, 1, 9, -11, -12]
ligne 0 : [-3, 8, -8, -2, -9]
Valeur maximum 29 : (0,1)->(1,2)->(2,2)->(3,3)->(4,3)
nom : M[4]
valeurs : 21 22 24 29 19
colorier : 3
legende : la réponse est le maximum de la dernière ligne : 29, en c = 3
C'est la récurrence du seam carving, au près.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.