se puede almacenar de la siguiente manera:
adj[1].push_back({2,5});
adj[2].push_back({3,7});
adj[2].push_back({4,6});
adj[3].push_back({4,5});
adj[4].push_back(make_pair(1,2));
La ventaja de usar listas de adyacencia es que podemos encontrar de manera eficiente los nodos a los que podemos movernos desde un nodo dado a través de una arista. Por ejemplo, el siguiente for
pasa por todos los nodos a los que podemos movernos desde el nodo s:
for (auto u : adj[s]) {
}