#include #define BIANCO 0 //Non Visitato #define NERO 2 //Visitato #define GRIGIO 1 //Non Finito #define INF 999999 #include #include #include #define MAXN 9999 #define INDEF -1 #include using namespace std; typedef pair p; std::priority_queue, std::greater

> Q; int V,E; int matriceAdj[MAXN][MAXN]; int T; struct nodo { vector adj; int inizio,fine; }no[MAXN]; int colore[MAXN]; bool Ciclico=false; bool dfsVisit (int u) { cout<>V>>E; int a,b; for (int i=0;i>a>>b; no[a].adj.push_back(b); } dfs(); for (int i=0;i