zoukankan      html  css  js  c++  java
  • HDU2544最短路(dijkstra)

    用dijkstra来练练手

     1 #include<iostream>
     2 #include<stdio.h>
     3 #include<string.h>
     4 #include<map>
     5 #include<vector>
     6 #include<set>
     7 #include<stack>
     8 #include<queue>
     9 #include<algorithm>
    10 #include<stdlib.h>
    11 using namespace std;
    12 #define MAX(a,b) (a > b ? a : b)
    13 #define MIN(a,b) (a < b ? a : b)
    14 #define MAXN  10000001
    15 #define INF 1000000007
    16 #define mem(a) memset(a,0,sizeof(a))
    17 
    18 int w[200][200];
    19 int d[200];
    20 int vis[200];
    21 int n;
    22 
    23 
    24 void dijkstra(int s)
    25 {
    26     d[s]=0;
    27     for(int k=0;k<n;k++)
    28     {
    29         int m=INF;
    30         for(int i=0;i<n;i++)
    31         {
    32             if(!vis[i] && d[i]<=m)
    33                 m=d[s=i];
    34         }
    35         vis[s] = 1;
    36         for(int i=0;i<n;i++)
    37         {
    38             d[i]=MIN(d[i], d[s]+w[s][i]);
    39         }
    40     }
    41 }
    42 
    43 
    44 
    45 int main()
    46 {
    47     //freopen("in.txt","r",stdin);
    48     //freopen("out.txt","w",stdout);
    49     int m;
    50     while(~scanf("%d%d",&n,&m) && (n || m))
    51     {
    52         mem(vis);
    53         for(int i=0;i<n;i++)
    54         {
    55             d[i]=INF;
    56             for(int j=0;j<n;j++)
    57             {
    58                 w[i][j]=INF;
    59             }
    60         }
    61         int a,b,x;
    62         for(int i=0;i<m;i++)
    63         {
    64             scanf("%d%d%d",&a,&b,&x);
    65             w[a-1][b-1] = w[b-1][a-1] = x;
    66         }
    67 
    68         dijkstra(0);
    69         printf("%d
    ",d[n] == INF?-1 : d[n-1]);
    70 
    71     }
    72     return 0;
    73 }
  • 相关阅读:
    上传github代码
    git 代码更新
    linux 遇见的问题
    How to stop pycharm show files in project in red color?
    Linux下动态库查找路径的问题
    centos7 建立虚拟目录
    [BZOJ3747] Kinoman
    [BZOJ2169] 连边
    [洛谷P4251] 小凸玩矩阵
    [洛谷P2764] 最小路径覆盖
  • 原文地址:https://www.cnblogs.com/gj-Acit/p/3204135.html
Copyright © 2011-2022 走看看