Bonjour,
Je prépare (enfin j'essaye) un examen de programmation.
Cependant je bloque sur un exercice non résolu, ayant peu d'expérience j'aimerai avoir votre avis afin de m'éclairer...Voici l'énoncé :
"On vous demande d'écrire un programme qui dira quels autostoppeurs il faut prendre pour arriver au plus vite à une destination"
on dispose des données suivantes :
on utilise deux tableaux (réel) Pi[i] donnant le % de niveau (si négatif c une descente) pendant L[i] (en km)
exe: si P[0]=2,00 et L[0]=120 =>on monte de 2 % pendant 120 km.
Le long du parcours sont postés N autostoppeur aux km (positif et croissant) a[i] et leur destination d[i].
exe: a[0]=24 d[0]=83 ==>autostoppeur au km 24 descend de la voiture au km 83.
La vitesse se calcul comme suit : vp-((pv+t)*p[i]) ou
vp =vitesse à plat (par exe 10)
pv=poid à vide (par ex 4)
t=nbr d'autostoppeur
p[i]=correspond à la monté ou descente.
Si la vitesse passe en dessous de vm (vitesse à pied exe 4) alors les autostoppeurs sortent de la voiture et la poussent pour assurer la vitesse de vm si il sont en nombre>=P[i].
C'est un problème d'optimisation. Je ne sais pas comment le résoudre, faut-il le représenter par un graphe ? Et dans ce cas utilisé un algorithme de programmation dynamique (genre bellman kabala ou dijkstra) ou utiliser une technique de programmation gloutonne??? Si quelqu'un peut m'aider je le remercie d'avance.
![]()
Partager