La direction d'un programme
d'études de premier cycle en informatique désire faire des modifications à son
programme. Une telle modification entraîne souvent que les pré-requis de
certains cours sont modifiés. De tels changements de pré-requis peuvent alors
avoir un impact sur le cheminement des étudiants, c'est-à-dire, sur l'ensemble
des cours qu'ils peuvent et devraient suivre à chaque session.
La direction du programme
d'informatique aimerait pouvoir déterminer, de façon automatique, si un
cheminement donné respecte les divers pré-requis des cours. En plus des
pré-requis, on aimerait aussi pouvoir spécifier, pour certains cours, la
session exacte où le cours devrait être suivi, par exemple, spécifier qu'un
cours de base devrait nécessairement être suivi dès la première session.
Les informations fournies
dans les données d'entrée (stdin) sont les suivantes :
Vous pouvez supposer que
les cours indiqués (tant pour les pré-requis que ceux indiqués dans le
cheminement) sont tous des cours valides, donc font partie de la liste des
cours décrits. Vous pouvez aussi supposer que les nombres sont tous séparés par
un unique espace.
Pour une description donnée
de programme, plusieurs cheminements peuvent évidemment être possibles. Le
programme que vous devez écrire doit simplement déterminer si le cheminement
indiqué dans les données d'entrée satisfait les contraintes décrites. Pour ce
faire, il suffit que le programme produise soit la réponse `` OUI'',
soit ``NON'' (sur une unique ligne, terminée par une fin de ligne).
Les données indiquées plus
bas présentent la spécification d'un ensemble de cours pour un programme
contenant 14 cours -- les commentaires ne seront évidemment pas présents dans
les données -- suivi d'un cheminement possible pour cet ensemble de cours
s'étalant sur trois (3) sessions.
5 ;; Nombre maximum de cours par session
14 ;; Nombre total de cours
1110 1 0 ;; Sigle Session NbPrerequis ListeDePrerequis
1130 1 0
1600 0 0
1105 0 0
2015 0 0
2170 0 1 1110
2110 0 1 1110
4680 0 1 1110
1163 0 0
1081 0 0
3172 0 2 2170 2110
3102 0 2 1130 2110
3140 0 2 1130 2110
3180 0 1 2110
3 ;; Nombre de sessions
1110 1130 1600 1105 2015 ;; Les sessions decrivant le cheminement
2170 2110 4680 1163 1081
3172 3102 3140 3180
OUI
5
4
1110 1 0
1130 1 0
2110 0 1 1110
1080 0 0
2
1110 1130 2110
1080
NON