3. Etablissement du calendrier des matchs Nord/Sud et Sud/Nord
P010-D_PROG.
- Restauration du tableau T4 = T4_save
- Suppression du tableau T4 des matchs faisant rencontrer une équipe Nord avec une équipe Nord
- Suppression du tableau T4 des matchs faisant rencontrer une équipe Sud avec une équipe Sud
- Initialisation du tableau T5
- Sauvegarder T4 -> T4_Nord-Sud_Sud-Nord
- Initialisation indice borne de journées : J_T5_JOURNEES = 4
- Initialisation indice courant de journées : I_T5_JOURNEES = 0
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| +T4-------------------------------------------------------------------------------+ +T5-------------------------------------------------------------------------------+
| | | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ | | +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | | | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |1| | | | x | | | | |N-3| x |S-8| | | |N-4| x |S-7| | | | | x | | | | | |1| | |N-1| x |S-5| | | | | x | | | | | | x | | | | | | x | | | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | | | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ | | +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ | | +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | | | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |2| | | | x | | | | | | x | | | | | | x | | | | | | x | | | | | |2| | |N-1| x |S-6| | | | | x | | | | | | x | | | | | | x | | | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | | | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ | | +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ | | +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | | | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |3| | | | x | | | | |S-5| x |N-3| | | |S-6| x |N-2| | | | | x | | | | | |3| | |N-1| x |S-7| | | | | x | | | | | | x | | | | | | x | | | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | | | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ | | +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ | | +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | | | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |4| | |N-1| x |S-5| | | |S-6| x |N-4| | | |S-7| x |N-3| | | |S-8| x |N-2| | | | |4| | |N-1| x |S-8| | | | | x | | | | | | x | | | | | | x | | | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | | | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ | | +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ | +---------------------------------------------------------------------------------+
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |5| | |N-1| x |S-6| | | | | x | | | | |S-8| x |N-4| | | | | x | | | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |6| | |N-1| x |S-7| | | | | x | | | | |N-2| x |S-5| | | | | x | | | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |7| | |N-1| x |S-8| | | |N-2| x |S-7| | | |N-3| x |S-6| | | |N-4| x |S-5| | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
+---------------------------------------------------------------------------------+ |
- On voit tout de suite que le calendrier comporte quatre journées et qu'il reste 12 matchs à placer.
- Faire tourner le programme de la même façon que précédemment et l'on obtient le résultat suivant :
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| +T5-------------------------------------------------------------------------------+
| |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |1| | |N-1| x |S-5| | | |N-2| x |S-7| | | |N-3| x |S-6| | | |N-4| x |S-8| | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |2| | |N-1| x |S-6| | | |N-2| x |S-8| | | |S-5| x |N-3| | | |N-4| x |S-7| | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |3| | |N-1| x |S-7| | | |N-2| x |S-5| | | |N-3| x |S-8| | | |S-6| x |N-4| | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |4| | |N-1| x |S-8| | | |S-6| x |N-2| | | |S-7| x |N-3| | | |N-4| x |S-5| | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
+---------------------------------------------------------------------------------+ |
- Afin que le tableau T5 soit plus facile à exploiter, faire en sorte que pour chaque match, l'équipe locale soit une équipe "Nord"
- Il s'agit en effet qu'une équipe visiteuse d'une région géographique (Nord, par exemple) puisse rencontrer sucessivement deux équipes géographiques locales (Sud, par exemple).
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| +T5-------------------------------------------------------------------------------+
| |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |1| | |N-1| x |S-5| | | |N-2| x |S-7| | | |N-3| x |S-6| | | |N-4| x |S-8| | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |2| | |N-1| x |S-6| | | |N-2| x |S-8| | | |N-3| x |S-5| | | |N-4| x |S-7| | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |3| | |N-1| x |S-7| | | |N-2| x |S-5| | | |N-3| x |S-8| | | |N-4| x |S-6| | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| |4| | |N-1| x |S-8| | | |N-2| x |S-6| | | |N-3| x |S-7| | | |N-4| x |S-5| | |
| | | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | | +---+ +---+ | |
| +-+ +---------------+ +---------------+ +---------------+ +---------------+ |
| |
+---------------------------------------------------------------------------------+ |
Conclusion :
A partir de l'énoncé du problème, la solution s'organise en trois phases :
1. Constitution des matchs
2. Création des calendriers "mêmes lieux géographiques" et "lieux géographiques différents"
3. Organisation de l'alternance "Locale" / "Visiteuse"
La troisième phase reste à solutionner mais on sait que cela n'est possible qu'en augmentant le nombre de jours du calendrier.
Qu'en pense Constant2001 ?... A suivre !