#define forn(i,n) for(int i=0;i > floydWarshall(vector& grafo, int V) { const int INF = 1000000000; vector< vector > distancia(V, vector(V, INF)); forn(i, grafo.size()) { arista a = grafo[i]; distancia[a.u][a.v]=a.longitud; // Si el grafo no es dirigido, es decir que puedo ir de v a u por esta misma arista, agrego: // distancia[a.v][a.u]=a.longitud; } forn(k, V) { forn(i, V) { forn(j, V) { distancia[i][j] = min(distancia[i][j], distancia[i][k] + distancia[k][j]); } } } forn(i, V) { if(distancia[i][i]<0) { cout<<"ERROR, CICLO NEGATIVO"<