zoukankan      html  css  js  c++  java
  • A

     1 //Dijkstra
     2 #include <iostream>
     3 #include <algorithm>
     4 #define Faster ios_base::sync_with_stdio(false),cin.tie(0)
     5 #define Read freopen("in.txt","r",stdin),freopen("out.txt","w",stdout)
     6 #define Close fclose(stdin),fclose(stdout)
     7 const int maxn = 1000+5;
     8 const int INF = 0xfffffff;
     9 using namespace std;
    10 
    11 int g[maxn][maxn];
    12 bool v[maxn];
    13 int dis[maxn];
    14 
    15 int t, n;
    16 
    17 //x 为起点
    18 void dij(int x){
    19     for(int i = 0;i <= n;i++){
    20         dis[i] = g[x][i];
    21         v[i] = true;
    22     }
    23     v[x] = false;
    24 
    25     int Min, p;
    26     for(int i = 1;i <= n;i++){
    27         Min = INF;
    28         for(int j = 1;j <= n;j++){
    29             if(v[j] && dis[j] < Min){
    30                 Min = dis[j];
    31                 p = j;
    32             }
    33         }
    34         if(Min == INF)
    35             break;
    36         v[p] = false;
    37         for(int j = 1;j <= n;j++){
    38             if(v[j] && dis[p] + g[p][j] < dis[j]){
    39                 dis[j] = dis[p] + g[p][j];
    40             }
    41         }
    42     }
    43 }
    44 
    45 int main(){
    46     Faster;
    47     cin >> t >> n;
    48     for(int i = 0;i <= n;i++){
    49         for(int j = 0;j <= n;j++)
    50             g[i][j] = INF;
    51     }
    52     for(int i = 0;i < t;i++){
    53         int x, y, z;
    54         cin >> x >> y >> z;
    55         if(g[x][y] > z)
    56             g[x][y] = g[y][x] = z;
    57     }
    58     dij(1);
    59     cout << dis[n] << endl;
    60     return 0;
    61 }
  • 相关阅读:
    离开学校一年多
    ZOJ Problem Set–1337 Pi
    Old Bill
    ZOJ Problem Set–1382 A Simple Task
    ZOJ Problem Set 2975 Kinds of Fuwas
    ZOJ Problem Set 2952 Find All M^N Please
    Generate Passwords
    Java 数据类型转换之字符串
    ZOJ Problem Set 2987 Misspelling
    Digital Roots
  • 原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/9010635.html
Copyright © 2011-2022 走看看