- 题目
07-图6 旅游规划 (25分) - 分析
这道题明显是个单源无向图的最短路径问题,但是这儿注意的是有两个权重:一是距离,二是收费。可以用Dijkstra算法来求解。当距离相等时按照收费来更新最短路。
伪码描述:
//dist[i]表示结点i到源点S的距离
//cost[i]表示结点i到源点S的收费
void Dijkstra(源点S)
{
while(1){
V = 未被收录的结点中dist最小者;
if(这样的V不存在) break;
collected[V] = true;
for(V的每个邻接点W){
if(!collected[W]){
if(dist[V]+graph[V][W] &