void dijkstra(int s){
memset(st, false, sizeof(st));
for(int i = 1; i <= n; i++) dist[i] = INF;
dist[s] = 0;
st[s] = true;
for(int i = 2; i <= n; i++){
int mind = INF, v = s;
for(int j = 1; j <= n; j++){
if(!st[j] && dist[j] < mind){
mind = dist[j];
v = j;
}
}
st[v] = true;
for(int j = 1; j <= n; j++) dist[j] = fmin(dist[j], dist[v] + g[v][j]);
}
}
板子dijskra[离散数学复习]
最新推荐文章于 2022-05-18 09:39:51 发布