#include <iostream>
using namespace std;

#include "GrafoDirigido.h"

int main () {

   try {
      GrafoDirigido miGrafo("ejemploInalcanzable.gr"); 
      //      miGrafo.mostrar();

      int origen = 3;
      
      vector<int> arbolDeCaminos = miGrafo.arbolDeCaminosOptimosSinPesos(origen);
      cout << "Arcos en el arbol de caminos optimos sin pesos desde " << origen << ":" << endl;
      for (int i = 0; i < arbolDeCaminos.size(); i++)
	 if (arbolDeCaminos[i] >= 0)
	    cout << "  " << arbolDeCaminos[i] << " --> " << i << endl;
      cout << "Vector de padres: ";
      for (int i = 0; i < arbolDeCaminos.size(); i++)
	 cout << " " << arbolDeCaminos[i];
      cout << endl;
      
   } catch(string error) {
      cerr << error << endl;
   }

}