Bonjour,
j'ai une liste de taches.
Une tache est constituée de : un identifiant, une date de depart, et une durée.
Je voudrais savoir si dans ma liste de taches, est ce que à un moment il y a X taches qui se chevauche.
Soit ci dessous ma liste de taches ( "-" est l'unité de durée)
Ici, je voudrais avoir la liste de tache pour 5 chevauchements,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 t-> <ol class="decimal"><li style="">---</li><li style="">--</li><li style="">-</li><li style=""> ---</li><li style=""> --</li><li style=""> ---</li><li style=""> -</li><li style=""> --</li><li style=""> -</li></ol>
soit les taches 1 4 5 6 7.
la premiere solution que j'ai trouvé etait :
pour chaque tache (noté ref), on liste toutes les taches pour lesquelles la date de debut est entre ref.datedebut et ref.datefin (obtenu par ref.datedebut+ref.duree)
hors cela ne fonctionne pas puisqu'on peut avoir plusieurs "domaines" d'intersection
par exemple, avec ce raisonnement pour la tache 1, on aurait 7 taches qui se chevauchent (de 1 à 7), hors dans ce cas précis, les taches 3 et 4 ne se chevauchent pas alors qu'elle font parti du meme "domaine"
j'ai trituré le probleme dans pas mal de sens, mais je trouve toujours un cas qui fausse mon raisonnement.
Si quelqu'un a une idée, et qu'il veut bien la soumettre,
je le remerie d'avance
Cordialement,
Azzhunter
Partager