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

POJ3268 Silver Cow Party

时间:2014-05-02 20:41:57      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:blog   class   code   int   string   art   

PS: 对原图和反图求最短路,然后求最长的即可。省赛热身练习。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <queue>
#include <cstring>
using namespace std;
const int maxn = 1010;
const int INF = 0x3ffffff;
//Accepted	468K	63MS
struct edges {
    int from, to, w;
};

int n, m, s;
int d1[maxn];
int d2[maxn];

queue<int> que;
bool inque[maxn];

void spfa(vector<edges> G[], int d[]) {
    while(!que.empty()) que.pop();
    memset(inque, false, sizeof(inque));
    for(int i = 1; i <= n; i++) d[i] = INF;
    d[s] = 0;
    inque[s] = true;
    que.push(s);
    while(!que.empty()) {
        int u = que.front(); que.pop();
        for(int i = 0; i < (int)G[u].size(); i++) {
            edges v = G[u][i];
            if(d[u]!=INF && d[u]+v.w < d[v.to]) {
                d[v.to] = d[u] + v.w;
                if(!inque[v.to]) {
                    inque[v.to] = true;
                    que.push(v.to);
                }
            }
        }
        inque[u] = false;
    }
}

int work() {
    int ans = -INF;
    for(int i = 1; i <= n; i++) {
        if(d1[i]+d2[i]>ans) {
            ans = d1[i] + d2[i];
        }
    }
    return ans;
}

vector<edges> G[maxn];
vector<edges> RG[maxn];
int main()
{
    edges t;
    int from, to, w;
    while(scanf("%d%d%d", &n, &m, &s)!=EOF) {
        for(int i = 1; i <= m; i++) {
           scanf("%d%d%d", &from, &to, &w);
           t.from = from;
           t.to = to;
           t.w = w;
           G[from].push_back(t);
           t.from = to;
           t.to = from;
           RG[t.from].push_back(t);
        }
        spfa(G, d1);
        spfa(RG, d2);
        int res = work();
        printf("%d\n", res);
    }
    return 0;
}

POJ3268 Silver Cow Party,布布扣,bubuko.com

POJ3268 Silver Cow Party

标签:blog   class   code   int   string   art   

原文地址:http://blog.csdn.net/achiberx/article/details/24849845

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