#ifndef Q2_H_INCLUDED
#define Q2_H_INCLUDED
#include "Flots.h"

struct sommet{
    string name;
    string tag;
    bool signe;
    unsigned rang;
};

void lecture_sommets(vector<arc> &lesArcs, vector<sommet> &lesSommets);
bool estdans(vector<sommet> &lesSommets, string &name);
void afficher_sommet(vector<sommet> &lesSommets);
void Q2(vector<arc> &lesArcs, vector<sommet> &lesSommets, string entree, string sortie,vector< vector<arc> > &trace, vector<string> &Trace_chemin, vector<int> &Trace_value);
//void elimination_arcs(vector<arc> &lesArcs, vector<sommet> &lesSommets);
void set_rang_sommets(vector<arc> &lesArcs, vector<sommet> &lesSommets, string &entree);
unsigned get_rang_sommet(string name, vector<sommet> &lesSommets);
void set_rang_sommet(unsigned rang, string name, vector<sommet> &lesSommets);
bool est_sature(arc &a);
bool est_vide(arc &a);
void taguer(sommet &s, bool signe, string from);
bool est_tague(sommet &s);
sommet& get_sommet(string name, vector<sommet> &lesSommets);
bool est_dans(vector<sommet> &a, vector< vector<sommet> > &tab);
vector<sommet> get_chemin(string entree, string sortie, vector<sommet> &lesSommets, vector<arc> &lesArcs);
arc& get_arc(string villeDep, string villeDest, vector<arc> &lesArcs);
unsigned get_capa_resi(arc a);

#endif // Q2_H_INCLUDED
