zoukankan      html  css  js  c++  java
  • 最短路模版--迪杰斯特拉

    #include <stdio.h>
    #include <string.h>
    int map[200][200],v[200],dis[200];
    int n,s,t;
    #define N 100001
    void DJ()
    {
        int i,j,k,min;
        memset(v,0,sizeof(v));
        memset(dis,0,sizeof(dis));

        for(i=0;i<n;i++)
            dis[i]=map[s][i];
        for(i=0;i<n;i++)
        {
            min=N;
            for(j=0;j<n;j++)
                {
                    if(!v[j]&&dis[j]<min)
                    {
                        k=j;
                        min=dis[j];
                    }
                }
             if(min==N)  break;
             v[k]=1;
             for(j=0;j<n;j++)
             {
                 if(!v[j]&&dis[k]+map[k][j]<dis[j])
                 {
                     dis[j]=map[k][j]+dis[k];
                 }
             }

        }
        if(dis[t]==N)  printf("-1 ");//....
        else printf("%d ",dis[t]);

    }
    int main()
    {

        int m,i,j,u,v,x;
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            for(i=0;i<n;i++)
            {
                for(j=0;j<n;j++)
                {
                    map[i][j]=N;
                    map[j][i]=N;
                }
                map[i][i]=0;
            }
            while(m--)
            {
                scanf("%d%d%d",&u,&v,&x);
                if(map[u][v]>x)
                {
                    map[u][v]=x;
                    map[v][u]=x;
                }
            }
            scanf("%d%d",&s,&t);
            DJ();
        }
        return 0;
    }

  • 相关阅读:
    MySQL性能优化的最佳20+条经验
    初窥Linux 之 我最常用的20条命令
    Java内存模型
    未能加载文件或程序集“System.Net.Http.Formatting, Version=4.0.0.0, Culture=n
    Nginx 负载均衡之 upstream 参数 和 location 参数
    Nginx 简单配置方法
    关于使用 autoFac 的注入方法
    关于 VS 调用存储过程加载很慢和SQL 执行很快的那些事
    C# 客户端读取共享目录文件
    NodeJS、NPM安装配置步骤
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/3671781.html
Copyright © 2011-2022 走看看