在这题中,关于求出最短路径树后的建立新图部分。上面的可以100,下面的只有80,萌新不解,求助
void bd(int u) {
vis[u] = 1;
for (auto ed: e[u]) if (!vis[ed.v] && dis[u] + ed.w == dis[ed.v]) {
int v = ed.v, w = ed.w;
g[u].pb({v, w});
g[v].pb({u, w});
bd(v);
}
}
void bd(int u) {
for (int u = 1; u <= n; ++u) {
for (auto ed: e[u]) {
int v = ed.v, w = ed.w;
if (!vis[v] && dis[u] + w == dis[v]) {
g[u].pb({v, w});
g[v].pb({u, w});
vis[v] = 1;
}
}
}
}