#include #include using namespace std; class GrafoDirigido { struct Arco { int vecino; float peso; Arco * siguiente; Arco(int, float, Arco *); }; struct Vertice { Arco * primerArcoDeEntrada; Arco * primerArcoDeSalida; int gradoDeEntrada; int gradoDeSalida; Vertice(); }; vector vertices; void KosarajuSharirEtapa1DFS(int, vector &, stack &) const; void KosarajuSharirEtapa2DFS(int, vector &, int) const; public: GrafoDirigido(const char *); void mostrar() const; int cantidadDeVertices() const; vector colorearConectados() const; };