Précédent Remonter Suivant

A.2  Planning de diners

Chaque soir de la semaine, le professeur Granteaut quitte l'université pour aller déjeuner en ville. Il est confronté au problème de choisir un restaurant. Pour un jour donné, le choix dépend de son appétence pour la cuisine des différents restaurant, de leurs distance de l'université et du nombre de jours écoulé depuis sa dernière visite à ce restaurant. Dans ce problème, on cherche à calculer une suite des meilleurs restaurant suivant ces critères sur une période de vingt jours.

Format des entrées :
les entrées forment un fichier constitué d'un nombre pair de lignes. Chaques paires constituent des informations concernant un restaurant.

La première ligne de chaque paire contient le nom du restaurant et on suppose que ce nom ne contient pas plus de 100 caractères.

La seconde ligne de chaque paire contient deux entiers a et b (représentés par deux chaînes de caractères séparées par un espace). L'entier a est compris entre 0 et 100 et représente l'appétence du professeur Granteaut pour ce restaurant. Le second entier b est positif et représente la distance entre le restaurant et l'université.
Format des sorties :
pour un jour donné, l'attrait d'un restaurant est calculé par la formule :
max(0,a-b2+min(t,10)2),
où a et b ont été définis dans la description du format des entrées et où t représente le nombre de jours depuis lequel le professeur n'a pas mangé dans ce restaurant (on suppose que t est l'infini si le restaurant n'a jamais été visité).

Une liste des jours et des restaurants les plus intéressant pour ces jours sur une période de 20 jours doit être stockée dans un fichier de sortie. Si deux restaurants ont le même attrait, on doit choisir celui qui a été visité le moins récemment. Si aucun n'a été visité, on choisit par ordre alphabétique.
Exemple de fichier d'entrées :
Chez Wendy
90 3
Chinois
95 3
Les delices de Deli
90 2
Wienerschnitzel
70 6
Del Taco
50 5
KFC
55 5
Carl's Jr.
20 1
La tomate rouge
75 2
Le restaurant du metro
30 2
Exemples de fichier de sortie :
Jour  Restaurant

  1   Chinois
  2   Les delices de Deli
  3   Chez Wendy
  4   La tomate rouge
  5   Wienerschnitzel
  6   KFC
  7   Le restaurant du metro
  8   Chinois
  9   Les delices de Deli
 10   Chez Wendy
 11   Del Taco
 12   La tomate rouge
 13   Carl's Jr.
 14   Chinois
 15   Wienerschnitzel
 16   Les delices de Deli
 17   KFC
 18   Chez Wendy
 19   Le restaurant du metro
 20   La tomate rouge
Écrivez un programme en C qui réponde à toutes les contraintes ci-dessus.



Pour tout commentaire : Alexandre Sedoglavic.
Précédent Remonter Suivant