zoukankan      html  css  js  c++  java
  • HDOJ 2544 Dijkstra实现

     1 #include <cstdio>
     2 #include <queue>
     3 #include <cstring>
     4 #include <cmath>
     5 
     6 using namespace std;
     7 
     8 #define N 100
     9 #define Infinity 233333333
    10 
    11 int main(){
    12     int n, m;
    13     while (scanf("%d %d", &n, &m), n != 0){
    14         int map[n][n];
    15         int dis[n];
    16         bool shortest[n];
    17         for (int i = 0; i < n; i++)
    18             for (int j = 0; j < n; j++)
    19                 map[i][j] = Infinity;
    20         for (int i = 0; i < m; i++){
    21             int begin, end, temp;
    22             scanf("%d %d %d", &begin, &end, &temp);
    23             begin -= 1;
    24             end -= 1;
    25             map[begin][end] = min(map[begin][end], temp);
    26             map[end][begin] = min(map[end][begin], temp);
    27         }
    28         for (int i = 0; i < n; i++){
    29             dis[i] = map[0][i];
    30             shortest[i] = 0;
    31         }
    32         while (1){
    33             int current = 0;
    34             for (int i = 1; i < n; i++)
    35                 if (!shortest[i] && dis[i] < dis[current])
    36                     current = i;
    37             if (current == n - 1){
    38                 printf("%d
    ", dis[current]);
    39                 break;
    40             }
    41             shortest[current] = 1;
    42             for (int i = 1; i < n; i++)
    43                 if (dis[current] + map[current][i] < dis[i])
    44                     dis[i] = dis[current] + map[current][i];
    45         }
    46     }
    47     return 0;
    48 }
  • 相关阅读:
    npm install报错Error: ENOENT
    hibernate hql
    mysql授权
    撤销git reset soft head操作
    nodejs&npm等概念梳理
    Java类中中文问题
    采用MANIFEST.MF之jar报错ClassNotFoundException解法
    EChart和G2比较
    牛客OI测试赛1
    Codeforces Round #340 (Div.2)
  • 原文地址:https://www.cnblogs.com/neopolitan/p/7879773.html
Copyright © 2011-2022 走看看