• Aucun résultat trouvé

Programmation Efficace – Licence 3 Informatique TP : Des ingr´edients pour un restaurant

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation Efficace – Licence 3 Informatique TP : Des ingr´edients pour un restaurant"

Copied!
2
0
0

Texte intégral

(1)

Programmation Efficace – Licence 3 Informatique TP : Des ingr´ edients pour un restaurant

Un restaurateur parisien veut faire une soir´ee avec un menu sp´ecial. Les diff´erents ingr´edients dont il a besoin. Pour aller chercher les ingr´edients `a diff´erents endroits de la ville, il fait appel `a des coursiers.

Un coursier transporte un ingr´edient `a la fois mais peut ˆetre en charge de r´ecup´erer plusieurs arguments.

Le coˆut d’un coursier est le nombre de kilom`etres qu’il a parcouru sachant que la distance pour aller d’un point (x1, y1) `a un point (x2, y2) est donn´ee par |x1−x2|+|y1−y2|(distance de Manhattan).

Ainsi si un coursier se trouve en un pointA puis doit aller chercher un ingr´edient en un pointB et ensuite il va chercher un ingr´edient en un point C et si le restaurant se trouve en un pointR, le prix `a payer `a la somme des distances suivantes : entreAet B, entreB etR, entreRet Cet entre Cet R.

Le but est de minimiser le coˆut de la commande sachant que l’on vous donne les coordonn´ees du point de d´epart des coursiers, les coordonn´ees o`u se trouve chaque ingr´edient et finalement les coordonn´ees du restaurant. Votre programme devra simplement afficher ce coˆut. On vous donne 15 fichiers tests et votre programme devra marcher pour tous ces fichiers.

Chaque fichier a le format suivant :

— Ligne 1 :Le nombre d’ingr´edientsN suivi par le nombre de coursiersM s´epar´e par un espace,

— Les N lignes suivantes : les coordonn´ees de chaque ingr´edient, X Y signifiant qu’il y a un ingr´edient en position (X, Y),

— LesM lignes suivantes :les coordonn´ees de chaque coursier, X Y signifiant qu’il y a un ingr´edient en position (X, Y),

— Les derni`ere ligne :les coordonn´ees du restaurant Nous avons de plus les contraintes suivantes :

— 1≤N ≤1000

— 1≤M ≤1000

— Toutes les coordonn´ees (X, Y) v´erifient−1000≤X ≤1000 et−1000≤Y ≤1000

Remarque : Il peut y avoir plusieurs ´el´ements `a un mˆeme endroit. On pourrait ainsi avoir deux ingr´edients, dix coursiers et le restaurant `a la mˆeme position.

Example

(−1,−1) (1,−1)

(−1,0)

(0,1) (1,1) (2,1)

C1

C2 B1

B2 R

1 2

3 4

Sur cet exemple, un seul courier C2 est utilis´e pour r´ecup´erer les deux ingr´edients B1 et B2 et les amener au restaurantR. Le nombre de kilom`etres parcourus par ce coursier est 5. Il s’agit de la meilleure solution.

(2)

Le fichier d’entr´ee pour cet exemple est de la forme suivante : 2 2

1 0 0 −1

−1 1 2 −1 0 0

Références

Documents relatifs

Le but du TP est de fournir pour chacun de ces fichiers un fichier contenant le plus court chemin qui sera donn´ e sous la forme d’un fichier avec un noeud par ligne. Les plus

Schlechtberg, imprimeur de son ´ etat, a acquis une imprimante ` a pesanteur (ce terme sera expliqu´ e plus tard dans l’´ enonc´ e) d’occasion programmable qui lui permet

Le but ici est de visiter le plus de villes possibles sachant qu’aucune ville ne peut ˆ etre visit´ ee plus d’une fois, que les bus doivent suivre les arcs et que la premi` ere

Construire l’arbre de recherche parcouru par l’interpréteur Prolog lors de la résolution de ce but (on pourra se limiter à une profondeur de 5 résolutions et ne pas détailler

Une requête de connection au serveur peut échouer parce que le serveur répond qu'il est trop occupé pour accorder de nouvelle connection (FTP et HTTP confondues), soit parce que

Construire le diagramme de classes modélisant la situation suivant : un contrat d'édition est un accord entre un auteur et un éditeur au sujet d'un ouvrage.. Un auteur peut

Construire le diagramme d'activités correspondant au texte suivant extrait d'un mode d'emploi d'un meuble en kit à monter soi-même : L'assemblage n'est possible

Construisez le diagramme de classe du code contenu dans le fichier Scrabble.zip et le diagramme de séquence correspondants à une partie de Scrabble (on peut omettre