zoukankan      html  css  js  c++  java
  • HDU--1874

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874

    分析:SPFA|Dijkastra.

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<algorithm>
     6 #include<vector>
     7 #include<queue>
     8 #define ll long long
     9 #define inf 0x6fffffff
    10 #define maxn 205
    11 using namespace std;
    12 int g[maxn][maxn],dis[maxn],n,m;
    13 bool vis[maxn];
    14 void dijkastra(const int s)
    15 {
    16     for(int i=0;i<n;i++)dis[i]=g[s][i];
    17     memset(vis,false,sizeof(vis));
    18     for(int i=0;i<n;i++)
    19     {
    20         int mark=-1,mindis=inf;
    21         for(int j=0;j<n;j++)
    22         if(!vis[j]&&dis[j]<=mindis)
    23         {
    24             mark=j;mindis=dis[j];
    25         }
    26         if(mark==-1)return;
    27         vis[mark]=true;
    28         for(int j=0;j<n;j++)
    29         if(!vis[j]&&j!=mark)dis[j]=min(dis[j],dis[mark]+g[mark][j]);
    30     }
    31 }
    32 int main()
    33 {
    34     while(~scanf("%d%d",&n,&m))
    35     {
    36         for(int i=0;i<n;i++)
    37         for(int j=0;j<n;j++)
    38         {
    39              g[i][j]=inf;
    40              if(i==j)g[i][j]=0;
    41         }
    42         int u,v,t,s;
    43         for(int i=0;i<m;i++)
    44         {
    45             scanf("%d%d%d",&u,&v,&t);
    46             if(g[u][v]>t)
    47             {
    48                  g[u][v]=t;
    49                  g[v][u]=t;
    50             }
    51         }
    52         scanf("%d%d",&s,&t);
    53         dijkastra(s);
    54         printf("%d
    ",dis[t]>=inf?-1:dis[t]);
    55     }
    56     return 0;
    57 }
    View Code
  • 相关阅读:
    LeetCode-Longest Substring Without Repeating Characters
    LeetCode-Add Two Numbers
    LeetCode-Two Sum
    品格的塑造
    闰年的来历
    float在内存中的存取方法
    矩阵顺时针旋转90度
    研究生毕业论文查重
    PAT1009
    PAT1008
  • 原文地址:https://www.cnblogs.com/i-love-acm/p/3288377.html
Copyright © 2011-2022 走看看