Esempio n. 1
0
    def extraireSousGraphe(self, point, typeVehicule, etatPatient):

        # On utilise la classe Arbre pour créer l'arbre de chemins simples possibles
        # variable point étant la racine de l'arbre
        arbre = Arbre(point)
        arbre.remplirArbre(self.listeSommets, self.matriceArete, typeVehicule,
                           etatPatient)

        # Créer liste contenant les feuilles de l'arbres uniquement
        liste = []
        arbre.creerListeChemins(liste)
        maxDist = 0
        indexMax = -1

        # Trouver feuille ayant la plus grande distance (en min)
        for i in range(len(liste)):
            if liste[i].distance > maxDist:
                maxDist = liste[i].distance
                indexMax = i

        # Affichage du chemin et la longueur de celui-ci en minutes
        print("\nChemin le plus long sur une charge :\n")
        if not indexMax == -1:
            strChemin = []
            liste[indexMax].afficheChemin(strChemin)
            strChemin[len(strChemin) - 1] = strChemin[len(strChemin) - 1][:-3]
            for string in strChemin:
                print(string, end="")
        print("\nLongueur : " + str(maxDist) + " minutes\n")