zoukankan      html  css  js  c++  java
  • poj2387Til the Cows Come Home(dijkstra)

    题目链接:http://poj.org/problem?id=2387

    优先队列+链星优化的dijkstra。

     1 #include<cstring>
     2 #include<algorithm>
     3 #include<queue>
     4 using namespace std;
     5 const int maxn=1050;
     6 const int maxe=5100;
     7 int t,n;
     8 int head[maxn];
     9 int dis[maxn];
    10 typedef pair<int,int> P;
    11 struct node
    12 {
    13     int v,w,nex;
    14 }edge[maxe];
    15 
    16 int cnt;
    17 
    18 void add(int u,int v,int w)
    19 {
    20     edge[cnt].v=v;
    21     edge[cnt].w=w;
    22     edge[cnt].nex=head[u];
    23     head[u]=cnt++;
    24 }
    25 int dijkstra()
    26 {
    27     priority_queue<P,vector<P>,greater<P> > pq;
    28     P p;
    29     node e;
    30     int v;
    31     for(int i=0;i<=n;i++)
    32         dis[i]=999999;
    33     dis[n]=0;
    34     pq.push(P(0,n));
    35        while(!pq.empty())
    36         {
    37             p=pq.top();
    38             pq.pop();
    39             v=p.second;
    40             if(dis[v]<p.first) continue;
    41             for(int i=head[v];i!=-1;i=edge[i].nex)
    42             {
    43                 e=edge[i];
    44                 if(dis[e.v]>e.w+dis[v])
    45                 {
    46                     dis[e.v]=e.w+dis[v];
    47                     pq.push(P(dis[e.v],e.v));
    48                 }
    49             }
    50         }
    51         printf("%d
    ",dis[1]);
    52 }
    53 int main()
    54 {
    55     while(scanf("%d%d",&t,&n)!=EOF)
    56     {
    57         cnt=0;
    58         int u,v,w;
    59         memset(head,-1,sizeof(head));
    60         while(t--)
    61         {
    62             scanf("%d%d%d",&u,&v,&w);
    63             add(u,v,w);
    64             add(v,u,w);
    65         }
    66         dijkstra();
    67 
    68     }
    69 }
  • 相关阅读:
    安装和配置nginx
    tomcat 生产发布脚本
    nginx 静态页面访问
    redis 搭建主从
    redis 安装
    perl 操作redis
    mysql 用户除了root一般不建议本地登录
    mysql创建用户
    mysql 查看排序集
    perl 安装Cpan
  • 原文地址:https://www.cnblogs.com/yijiull/p/6615791.html
Copyright © 2011-2022 走看看