码迷,mamicode.com
首页 > 其他好文 > 详细

POJ--3268 Silver Cow Party(最短路)

时间:2018-10-22 01:20:33      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:pop   target   str   fine   struct   dijkstra   using   http   color   

题目电波:POJ--3268 Silver Cow Party

跑两遍 dijkstra 就好了 弱智题

 

 

#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<queue>
#include<cstring>
using namespace std;
#define maxn 10001
#define inf 0x3f3f3f
#define pii pair<int,int>
struct ac{
  int to,va;
  ac(){}
  ac(int a,int b){
    to=a,va=b;
  }
};
vector<ac>q[maxn],w[maxn];
int dis[maxn],dist[maxn];
bool fa[maxn];
void dijkstra(int s){
   memset(fa,0,sizeof(fa));
   memset(dis,inf,sizeof(dis));
   priority_queue<pii,vector<pii>,greater<pii> >pq;
   dis[s]=0;
   pq.push(pii(dis[s],s));
   while(!pq.empty()){
      int u=pq.top().second;
      pq.pop();
     // cout<<"1"<<endl;
      if(fa[u]) continue;
      fa[u]=1;
      for(int j=0;j<q[u].size();j++){
         ac x=q[u][j];
         int v=x.to,va=x.va;
         if(dis[v]>dis[u]+va){
            dis[v]=dis[u]+va;
            pq.push(pii(dis[v],v));
         }
      }
   }
}
void dijkstra1(int s){
   memset(fa,0,sizeof(fa));
   memset(dist,inf,sizeof(dist));
   priority_queue<pii,vector<pii>,greater<pii> >pq;
   dist[s]=0;
   pq.push(pii(dist[s],s));
   while(!pq.empty()){
      //cout<<"2"<<endl;
      int u=pq.top().second;
      pq.pop();
      if(fa[u]) continue;
      fa[u]=1;
      for(int j=0;j<w[u].size();j++){
         ac x=w[u][j];
         int v=x.to,va=x.va;
         if(dist[v]>dist[u]+va){
            dist[v]=dist[u]+va;
            pq.push(pii(dist[v],v));
         }
      }
   }
}
int main(){
   int n,m,s;
   cin>>n>>m>>s;
   for(int j=0;j<m;j++){
      int u,v,va;
      scanf("%d%d%d",&u,&v,&va);
      q[u].push_back(ac(v,va));
      w[v].push_back(ac(u,va));
   }
   dijkstra(s);
   dijkstra1(s);
   int ans=0;
   for(int j=1;j<=n;j++){
      if(j==s) continue;
      ans=max(dis[j]+dist[j],ans);
      //cout<<dis[j]<<" "<<dist[j]<<endl;
   }
   cout<<ans<<endl;
}

 

POJ--3268 Silver Cow Party(最短路)

标签:pop   target   str   fine   struct   dijkstra   using   http   color   

原文地址:https://www.cnblogs.com/DyLoder/p/9827684.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!