随笔 - 0  文章 - 5  trackbacks - 0
<2025年6月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

常用链接

留言簿(2)

文章分类

文章档案

教育

信息学奥赛

有用网站

在线OJ

专题测试

租房信息

搜索

  •  

最新评论


#include<iostream>
using namespace std;
int n,g[1000][1000],dist[1000];
bool f[1000]={0};
int minv()
{
    int k=0x7fffffff,j;
    for (int i=0;i<n;i++)
        if (!f[i]&&dist[i]<k)
        {
            j=i;
            k=dist[i];
        }
    return j;
}
void shortpath()
{
    f[0]=true;
    int j;
    for (int i=1;i<n;i++)
    {
        j=minv();
        f[j]=true;
        for (int k=0;k<n;k++)
            if (g[j][k]!=0x7fffffff)
                if (!f[k]&&dist[j]+g[j][k]<dist[k])
                    dist[k]=dist[j]+g[j][k];
    }
}
    
int main()
{
    int en,x,y;
    cin>>n>>en;
    for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
            g[i][j]=0x7fffffff;
    for (int i=0;i<n;i++) g[i][i]=0;
    for (int i=0;i<en;i++)    
        cin>>x>>y>>g[x][y];
    for (int i=0;i<n;i++) dist[i]=g[0][i];
    shortpath();
    for (int i=0;i<n;i++) cout<<dist[i]<<" ";    
    cout<<endl; 
    system("pause");
    return 0;
}
输入:
6 11
0 1 5
0 2 30
0 3 18
1 2 12
1 3 10
2 4 25
3 0 15
3 4 8
4 1 5
4 2 20
4 5 4
输出:
0 5 17 15 23 27
posted on 2012-12-25 17:00 龙在江湖 阅读(173) 评论(0)  编辑 收藏 引用 所属分类: 图论