最短路
void spfa(int s)
{
for(int i=1;i<=n;i++) dis[i]=inf;
dis[s]=0;
priority_queue<nod> q;
q.push((nod){s,0});
while(!q.empty())
{
nod data=q.top();
q.pop();
int u=data.u;
if(data.d!=dis[u]) continue;
for(int i=head[u];i!=-1;i=e[i].next)
{
int v=e[i].to;
if(dis[u]+e[i].w<dis[v])
{
dis[v]=dis[u]+e[i].w;
q.push((nod){v,dis[v]});
}
}
}
}

浙公网安备 33010602011771号