poj 3268 Silver Cow Party(最短路径)
来源:互联网 发布:开票软件v2.0 编辑:程序博客网 时间:2024/06/06 03:32
题意:给出n个点和m条边,接着是m条边,代表从牛a到牛b需要花费c时间,现在所有牛要到牛x那里去参加聚会,并且所有牛参加聚会后还要回来,给你牛x,除了牛x之外的牛,他们都有一个参加聚会并且回来的最短时间,从这些最短时间里找出一个最大值输出。
思路:最短路径只需要从x到i的最短路径代表他们返回的最短路径,然后将所有边反过来,再从x到i的最短路径代表他们来参加聚会的最短路径,这样对应相加找出一个最大值就可以了,当然其实不需要将所有边反过来,只需要将map的行和列对换一下就可以了,数据比较大,floyd超时,用dijkstra比较好点。
#include <iostream>#include <stdio.h>using namespace std;#define MAXV 1010#define inf 1<<29int map[MAXV][MAXV],d[MAXV],dback[MAXV];bool vis[MAXV];int n,m,x;int dijkstra(){int i,j,v,mi;for(i=1;i<=n;i++){vis[i]=0;d[i]=map[x][i];dback[i]=map[i][x];}for(i=1;i<=n;i++){mi=inf;for(j=1;j<=n;j++)if(!vis[j] && d[j]<mi){v=j;mi=d[j];}vis[v]=1;for(j=1;j<=n;j++){if(!vis[j] && map[v][j]+d[v]<d[j])d[j]=map[v][j]+d[v];}}for(i=1;i<=n;i++) vis[i]=0;for(i=1;i<=n;i++){mi=inf;for(j=1;j<=n;j++)if(!vis[j] && dback[j]<mi){v=j;mi=dback[j];}vis[v]=1;for(j=1;j<=n;j++){if(!vis[j] && map[j][v]+dback[v]<dback[j])dback[j]=map[j][v]+dback[v];}}mi=-1;for(i=1;i<=n;i++){if(d[i]+dback[i]>mi)mi=d[i]+dback[i];}return mi;}int main(){int i,a,b,c,j;while(~scanf("%d%d%d",&n,&m,&x)){for(i=1;i<=n;i++){for(j=1;j<=n;j++)if(i!=j) map[i][j]=inf;else map[i][j]=0;}for(i=1;i<=m;i++){scanf("%d%d%d",&a,&b,&c);map[a][b]=c;}printf("%d\n",dijkstra());}return 0;}
0 0
- poj 3268 Silver Cow Party(最短路径)
- [POJ](3268)Silver Cow Party ---最短路径(图)
- POJ3268 Silver Cow Party(最短路径)
- POJ 3268 Silver Cow Party(最短路径dijkstra算法)
- POJ 3268:Silver Cow Party 求单点的来回最短路径
- POJ 3268 Silver Cow Party(最短路径之迪杰斯特拉算法)
- poj 3268 Silver Cow Party(最短路)
- POJ 3268 Silver Cow Party 最短路
- POJ 3268 Silver Cow Party 最短路
- POJ 3268 Silver Cow Party 最短路
- POJ 3268 Silver Cow Party 最短路
- POJ 3268 Silver Cow Party 最短路
- poj 3268 Silver Cow Party(最短路)
- POJ3268-Silver Cow Party(最短路径)
- 北大ACM3268——Silver Cow Party~~最短路径
- POJ3268---Silver Cow Party (最短路径)
- Silver Cow Party (SPFA+最短路径)
- 最短路径__Silver Cow Party ( Poj 3268 )
- LintCode:最近公共祖先
- POJ3279 Fliptile
- GitHub上Top20个 Python 语言机器学习项目
- 从 IT 中断中学到的最佳监控实践
- 监控之我见
- poj 3268 Silver Cow Party(最短路径)
- IDEA查看properties文件中文显示问题
- Hive-2.HiveQL查询中分析函数
- JavaScript的那些坑之call,apply,bind
- linux之slimbus设备注册
- VS2015——MFC加载图片遇到的问题
- linux终端快捷键
- 运算符优先级
- 原型模式