zoukankan      html  css  js  c++  java
  • dijkstra

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 const int maxn = 1e5+5,inf = 1e9;
     4 struct node{
     5     int to,w;
     6 };
     7 vector<node>e[maxn];
     8 int d[maxn],p[maxn];
     9 int n,m,s;
    10 inline void add(int x,int y,int z){
    11     node t;
    12     t.to = y;
    13     t.w = z;
    14     e[x].push_back(t);
    15 }
    16 inline void dijkstra(){
    17     for(int i = 1;i <= n;i++)d[i] = inf;
    18     d[s] = 0;
    19     for(int i = 1;i <= n;i++){
    20         int mins = inf,k;
    21         for(int j = 1;j <= n;j++)
    22             if(!p[j] && d[j] < mins){
    23                 mins = d[j];k=j;
    24             }
    25         p[k]=1;
    26         for(int j = 0;j < e[k].size();j++){
    27             node v = e[k][j]; 
    28             if(d[v.to] > d[k]+v.w)d[v.to] = d[k]+v.w;
    29         } 
    30     }
    31 }
    32 int main(){
    33     cin>>n>>m>>s;
    34     for(int i=1,x,y,z;i<=m;i++){        
    35         scanf("%d%d%d",&x,&y,&z);
    36         add(x,y,z);
    37     }
    38     dijistra();
    39     for(int i = 1;i <= n;i++)
    40         if(d[i] < inf)printf("%d ",d[i]);
    41         else printf("2147483647 ");
    42     return 0;
    43 }
  • 相关阅读:
    通过kinaba对es进行crud
    安装启动kibana
    es安装启动
    IP网络层
    Java 高级文本处理
    django17
    邮件问题
    django16
    django15
    django14
  • 原文地址:https://www.cnblogs.com/wangyifan124/p/10319829.html
Copyright © 2011-2022 走看看