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

     1 #include <cstdio>
     2 
     3 struct road{
     4     int head;
     5     int tail;
     6     int value;
     7 };
     8 
     9 #define Infinity 233333333
    10 
    11 int main(){
    12     int n, m;
    13     while (scanf("%d %d", &n, &m), n != 0){
    14         road roads[m];
    15         int dis[n];
    16         for (int i = 0; i < m; i++)
    17             scanf("%d %d %d", &roads[i].head, &roads[i].tail, &roads[i].value);
    18         dis[0] = 0;
    19         for (int i = 1; i < n; i++)
    20             dis[i] = Infinity;
    21         for (int i = 0; i < n - 1; i++)
    22             for (int j = 0; j < m; j++){
    23                 int head, tail;
    24                 if (dis[roads[j].tail - 1] > dis[roads[j].head - 1]){
    25                     head = roads[j].head - 1;
    26                     tail = roads[j].tail - 1;
    27                 }
    28                 else{
    29                     head = roads[j].tail - 1;
    30                     tail = roads[j].head - 1;
    31                 }
    32                 if (dis[tail] > dis[head] + roads[j].value)
    33                     dis[tail] = dis[head] + roads[j].value;
    34             }
    35         printf("%d
    ", dis[n - 1]);
    36     }
    37     return 0;
    38 }
  • 相关阅读:
    安装wamp的方法及过程
    js原生获取className&多选一
    构造函数
    轮播图
    NaN
    ++与--运算练习
    if语句的练习
    switch语句的练习
    九九乘法表
    mac下git提交github代码
  • 原文地址:https://www.cnblogs.com/neopolitan/p/7879973.html
Copyright © 2011-2022 走看看