#ifndef MAIN_H
#define MAIN_H

#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <cstdlib> // pour atoi


struct graphe{
    int nbSommets;
    int nbArcs;
    int extremiteInitiale;
    int extremiteTerminal;
    int valeurArc;

    /** Nous utilisons les vectors comme de simple tableaux pour stocker les valeurs recupéré du fichier
    * Ils font forcement la meme taille d'après les conditions de création. */

    std::vector < int > Initial; // valeur de l'etat initial
    std::vector < int > Term; // valeur de l'etat terminal
    std::vector < int > Val; // valeur de l'arc

    /** */

    int precedent;
    int cout;
    int *distance;

    // matrice usuel adjacense et des arcs
    int ** matrixAdj;
    int ** matrixVal;
};

#endif // MAIN_H
