// Tenemos la matriz de vecinos vector< vector > matriz que en matriz[x][y] guarda cuanto mide esa arista, -1 si no existe int dijkstraCuadratico(int s, int dest){ int n = matriz.size(); const int INF = 100000000; vector dist(n, INF); vector prev(n, -1); vector vis(n, false); dist[s]=0; forn(paso, n){ int nodoMasCercano=-1; forn(i, n){ if(!vis[i]){ if(nodoMasCercano==-1 || dist[nodoMasCercano]>dist[i]){ nodoMasCercano=i; } } } vis[nodoMasCercano]=true; forn(i, n){ int val = dist[nodoMasCercano]+matriz[nodoMasCercano][i]; if(val