POJ3268Silver Cow Party
来源:互联网 发布:淘宝客推广招聘 编辑:程序博客网 时间:2024/05/21 06:20
题意:给出n个点和m条边,接着是m条边,代表从牛a到牛b需要花费c时间,现在所有牛要到牛x那里去参加聚会,并且所有牛参加聚会后还要回来,给你牛x,除了牛x之外的牛,他们都有一个参加聚会并且回来的最短时间,从这些最短时间里找出一个最大值输出
用dijkstra求一次从x出发到所有点的最短距离,然后将所有边反向再求一次从x出发到所有点距离,相加求最大。
#include<iostream>#include<stdio.h>#include<cstring>#include<algorithm>#include<map>#include<vector>#include<queue>#include<cmath>#include<functional>using namespace std;#define N 1000+5#define MAXN 1000000#define mem(arr,a) memset(arr,a,sizeof(arr))#define INF 0x3f3f3f3f#define LL long long int #define pow(a) (a)*(a)int d[2][N];int cost[N][N];int vis[N];int n, m, x;void dijkstra(int s,int flag){ mem(d[flag], INF); mem(vis, 0); d[flag][s] = 0; while (1){ int v = -1; for (int i = 1; i <= n; i++){ if (!vis[i] && (v == -1 || d[flag][i] < d[flag][v]))v = i; } if (v == -1)break; vis[v] = 1; for (int i = 1; i <= n; i++){ d[flag][i] = min(d[flag][v] + cost[v][i], d[flag][i]); } }}int main(){ cin >> n >> m >> x; mem(cost, INF); for (int i = 1; i <= m; i++){ int a, b, c; cin >> a >> b >> c; cost[a][b] = c; } dijkstra(x,0); for (int i = 1; i <= n; i++){ for (int j = i + 1; j <= n; j++){ swap(cost[i][j], cost[j][i]); } } dijkstra(x, 1); int MAX = 0; for (int i = 1; i <= n; i++){ MAX = max(MAX, d[0][i]+d[1][i]); } cout << MAX << endl;}
阅读全文
0 0
- POJ3268Silver Cow Party
- poj3268Silver Cow Party(单源最短路径)
- POJ3268Silver Cow Party~Dij算法+矩阵倒置
- POJ3268Silver Cow Party(单源最短路径变形)
- poj3268Silver Cow Party之dijkstra解法
- poj3268Silver Cow Party最短路问题(dijkstra+邻接矩阵转置)
- poj3268Silver Cow Party——最短路变形
- Silver Cow Party
- POJ3268:Silver Cow Party
- poj3268 - Silver Cow Party
- POJ3268 Silver Cow Party
- poj_3268Silver Cow Party
- POJ3268 Silver Cow Party
- Silver Cow Party
- poj_3268 Silver Cow Party
- POJ3268 Silver Cow Party
- K - Silver Cow Party
- poj3268-Silver Cow Party
- Linux的管道命令竖线(|)
- Java使用JNI与C/C++代码实现混合编程
- HDU 6138 2017多校第八场1006 Fleet of the Eternal Throne :AC自动机
- 单词的整体倒置
- 【Tomcat 8.0】两种方法配置servlet虚拟目录
- POJ3268Silver Cow Party
- 反向代理
- HTML备忘录
- 算法 网站 收藏
- 【HDU 1166】敌兵布阵(树状数组)
- 复制InputStream,创建临时的OutputStream
- [翻译]理解C#对象生命周期
- maven-complie-plugin compile failed idea上maven项目启动失败
- 面向对象编程和设计模式的七大原则理解