HDU-2544-最短路

Posted angel-demon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU-2544-最短路相关的知识,希望对你有一定的参考价值。

  • 迪杰斯特拉算法--O(nlogn)
    #include"iostream"
    #include"cstring"
    #include"cstdio"
    using namespace std;
    const int inf = 0x3f3f3f3f;
    typedef long long LL;
    int map[105][105];
    int ans[105], n, m;
    bool flag[105];
    void dij() {
        for(int i = 2; i <= n; i++)
        ans[i] = map[1][i];
        ans[1] = 0;
        memset(flag, true, sizeof(flag));
        flag[1] = false;
        for(int i = 2; i < n; i++) {
            int v, mn = inf;
            for(int j = 1; j <= n; j++)
            if(ans[j] < mn && flag[j]) {
                mn = ans[j];
                v = j;
            }
            for(int j = 1; j <= n; j++)
            if(ans[v] + map[v][j] < ans[j])
            ans[j] = ans[v] + map[v][j];
            flag[v] = false;
        }
    }
    int main() {
        int a, b, c;
        while(scanf("%d%d", &n, &m) && (n || m)) {
            memset(map, inf, sizeof(map));
            while(m--) {
                scanf("%d%d%d", &a, &b, &c);
                if(map[a][b] > c)
                map[a][b] = map[b][a] = c;
            }
            dij();
            printf("%d
    ", ans[n]);
        }
        return 0;
    }

     

以上是关于HDU-2544-最短路的主要内容,如果未能解决你的问题,请参考以下文章

hdu 2544 最短路

hdu 2544 最短路

HDU 2544 - 最短路 - [堆优化dijkstra][最短路模板题]

HDU 2544最短路 (迪杰斯特拉算法)

hdu2544---最短路

HDU-2544-最短路