#A. 单源最短路径

    传统题 1000ms 128MiB

单源最短路径

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Description

用Dijkstra算法求解v0到其他各点的距离

#include <iostream>
#include <cstdio>
using namespace std;
int dis[10][10],minDist[10];
bool visit[10]; 
const int Dis_MAX=1000000000;
int main()
{
    int n,m;
    for(int i=0;i<6;i++)
    {
        for(int j=0;j<6;j++)
        if(i!=j) dis[i][j]=Dis_MAX;
        else dis[i][j]=0;
    }
    dis[0][2]=10;
    dis[0][5]=100;
    dis[0][4]=30;
    dis[1][2]=5;
    dis[2][3]=50;
    dis[3][5]=10;
    dis[4][3]=20;
    dis[4][5]=60;        
     
    int start=0,end;
    cin>>end;
    for(int i=0;i<=5;i++)
        minDist[i]=_____(1)______;
		//minDist[i]表示从起点到i的最短路径 
     
    visit[start]=true;//已确定最短路的结点集合P 
    minDist[start]=0;
    for(int i=1;i<=5;i++)
    {   //做5遍就能把未确定最短路的结点集合Q遍历空
        int minn=Dis_MAX;
        int k;
        for(int j=1;j<=5;j++)
		{//寻找Q中最近的结点
            if(______(2)______)
			{
                minn=minDist[j];
                k=j; 
            }
        }
        _______(3)_______;//加入P集合
        for(int j=1;j<=5;j++)
		{   //对k的所有边进行松弛
            minDist[j]=________(4)_______;
        }
    }
    if(______(5)_______)
        printf("%d",minDist[end]);
    else
        printf("-1");
    return 0;
} 

Input Format

一个整数n,1<=n<=5

Output Format

求出v0到第n个点的最短距离。如果不能达,则输出-1
5
60

Source

数据结构-图

2023龙游暑假1期上午第1-2次课0704

未参加
状态
已结束
规则
ACM/ICPC
题目
8
开始于
2023-7-3 8:00
结束于
2023-7-4 23:00
持续时间
39 小时
主持人
参赛人数
10