zoukankan      html  css  js  c++  java
  • 畅通工程续hdu 1874(最短路)

    http://acm.hdu.edu.cn/showproblem.php?pid=1874

    #include<stdio.h>
    #include<math.h>
    #include<string.h>
    #include<ctype.h>
    #include<stdlib.h>
    #include <iostream>
    #include<algorithm>
    #include<queue>
    #define maxn 400
    #define oo 0x3f3f3f3f
    using namespace std;
    int maps[maxn][maxn], dist[maxn],v[maxn];
    int n, m;
    
    void Init()
    {
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
            {
                if(i==j)
                    maps[i][j]=0;
                else
                    maps[i][j]=maps[j][i]=oo;
            }
        }
    }
    
    
    void Dij(int x, int y)
    {
        memset(v, 0, sizeof(v));
        for(int i=0; i<n; i++)
            dist[i]=maps[x][i];
    
        v[x] = 1;
    
        for(int i=1; i<n; i++)
        {
            int index=-1, mins=oo;
    
            for(int j=0; j<n; j++)
            {
                if(!v[j] && dist[j]<mins)
                {
                    index = j;
                    mins = dist[j];
                }
            }
    
            v[index] = 1;
    
            for(int j=0; j<n; j++)
            {
                if(!v[j] && dist[j]>maps[index][j]+mins)
                    dist[j] = maps[index][j]+mins;
            }
        }
    
        if(dist[y]==oo)
            printf("-1
    ");
        else
            printf("%d
    ", dist[y]);
    }
    
    int main()
    {
        int a, b, c, start, ends;
    
        while(scanf("%d %d", &n, &m)!=EOF)
        {
    
            Init();
    
            for(int i=1; i<=m; i++)
            {
                scanf("%d %d %d", &a, &b, &c);
                maps[a][b]=maps[b][a]=min(maps[a][b], c);
            }
    
            scanf("%d %d", &start, &ends);
    
            Dij(start, ends);
    
        }
        return 0;
    }
    View Code
  • 相关阅读:
    Bellman算法
    Codeforces Round #378 (Div. 2) D
    运算符优先级
    Kruskal算法
    Java 大数运算
    无根树转有根树
    欧拉函数模板
    HDU 4135 Co-prime(容斥原理)
    快速求n的质因子(数论)
    Markdown中插入数学公式
  • 原文地址:https://www.cnblogs.com/daydayupacm/p/5736872.html
Copyright © 2011-2022 走看看