• hdu 2544 最短路


    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2544

    简单最短路问题

    #include<stdio.h>
    #define INF 1<<30
    int n,m,map[105][105],dis[105];
    bool bellman_ford(int start,int end)
    {
        int i,j,k;
        for(i = 1; i <= n; i++)
            dis[i] = INF;
        dis[start] = 0;
        for(k = 1; k <= n; k++)
        {
            for(i = 1; i <= n; i++)
            {
                for(j = 1 ; j <= n; j++)
                {
                    if(map[i][j] < INF && dis[j] > dis[i] + map[i][j])
                        dis[j] = dis[i] + map[i][j];
                }        
            }
        }
        for(i = 1; i <= n; i++)
        {
            for(j = 1; j <= n; j++)
                if(map[i][j] < INF && dis[j] > dis[i] + map[i][j])
                    return false;
        }
        return true;
    }
    int main()
    {
        int i,j,a,b,c;
        while(~scanf("%d%d",&n,&m) && (n||m))
        {
            for(i = 1; i <= n; i++)
                for(j = 1; j <= n; j++)
                    map[i][j] = (i == j ? 0 : INF);
                while(m--)
                {
                    scanf("%d%d%d",&a,&b,&c);
                    map[a][b] = map[b][a] = c;
                }
                bellman_ford(1,n);
                printf("%d\n",dis[n]);
        }
        return 0;
    }


  • 相关阅读:
    form表单介绍
    if条件语句
    表格.html
    列表.html
    CSS Js链接HTML文件
    DQL
    mysql介绍
    第一次接触mysql
    逻辑运算、作用域问题、DOM
    Js数据类型具体分析
  • 原文地址:https://www.cnblogs.com/LUO257316/p/3220857.html
Copyright © 2020-2023  润新知