[模板]Dijkstra
1 for(int i=0;i<m-2;i++){ 2 for(int j=1;j<=m;j++)if(al[j]==0&&dt[j]<min){min=dt[j];d=j;} 3 min=0x7fffffff;al[d]=1; 4 for(int j=fir[d];j;j=l[j])if(!al[to[j]]&&dt[d]+s[j]<dt[j])dt[j]=dt[d]+s[j]; 5 }
注意:找最小值的步骤可以堆优化它。
$Fate \ is \ Fake$