POJ3268【最短路】
来源:互联网 发布:盒子设计软件绿色版 编辑:程序博客网 时间:2024/06/07 10:18
题意:
n个点m条有向边,每个点有一头牛,每头牛会沿着各自的最短路先到x点,然后又从x点到各自的点,求这些牛中间最短路程最大的牛。
思路:
从x点到各点的最短路不用说了,裸的最短路;
但是从所有点到x的最短路,那不就是路线反一下,然后求x到所有点的最短路么?
//#include<bits/stdc++.h>#include<cstdio>#include<iostream>#include<queue>#include<algorithm>#include<string.h>using namespace std;typedef long long LL;const int N=1e3+10;const int INF=0x3f3f3ff;int n,m,s;int dis[N],temp[N];bool vis[N];int first[N][N];int sec[N][N];void dijkstra1(){ int i,j; memset(vis,0,sizeof(vis)); int k; for(i=1;i<=n;i++) dis[i]=first[s][i]; vis[s]=1; dis[s]=0; for(i=1;i<=n-1;i++) { int mimi=INF; k=0; for(j=1;j<=n;j++) { if(mimi>dis[j]&&!vis[j]) { mimi=dis[j]; k=j; } } vis[k]=1; for(j=1;j<=n;j++) { if(dis[j]>(dis[k]+first[k][j])&&!vis[j]&&first[k][j]!=INF) { dis[j]=dis[k]+first[k][j]; } } } for(int i=1;i<=n;i++) temp[i]+=dis[i];}void dijkstra2(){ int i,j; memset(vis,0,sizeof(vis)); int k; for(i=1;i<=n;i++) dis[i]=sec[s][i]; vis[s]=1; dis[s]=0; for(i=1;i<=n-1;i++) { int mimi=INF; k=0; for(j=1;j<=n;j++) { if(mimi>dis[j]&&!vis[j]) { mimi=dis[j]; k=j; } } vis[k]=1; for(j=1;j<=n;j++) { if(dis[j]>(dis[k]+sec[k][j])&&!vis[j]&&sec[k][j]!=INF) { dis[j]=dis[k]+sec[k][j]; } } } for(int i=1;i<=n;i++) temp[i]+=dis[i];}int main(){ while(~scanf("%d%d%d",&n,&m,&s)) { int u,v,w; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(i==j) sec[i][j]=first[i][j]=0; else sec[i][j]=first[i][j]=INF; while(m--) { scanf("%d%d%d",&u,&v,&w); first[u][v]=w; sec[v][u]=w; } memset(temp,0,sizeof(temp)); dijkstra1(); dijkstra2(); int tyt=temp[1]; for(int i=2;i<=n;i++) tyt=max(tyt,temp[i]); printf("%d\n",tyt); } return 0;}
0 0
- POJ3268之最短路
- poj3268最短路Dijkstrra
- 最短路 dijkstra---poj3268
- poj3268 最短路
- POJ3268【最短路】
- POJ3268 最短路
- POJ3268最短路水题
- poj3268(最短路,dijkstra)
- 基础最短路四 POJ3268
- POJ3268 Silver Cow Party DIJ最短路
- POJ3268 Silver Cow Party 最短路
- 【POJ3268】Silver Cow Party 最短路
- poj3268 Silver Cow Party(最短路变形)
- POJ3268 Silver Cow Party(最短路问题)
- poj3268 Silver Cow Party【最短路】
- 最短路(SPFA+负权回路的判断)-poj3268
- POJ3268—Silver Cow Party(反向最短路)
- POJ3268 Silver Cow Party spfa求解 最短路
- [LeetCode]398. Random Pick Index
- OpenCV实践(4)- 叠加两幅图片
- 51. N-Queens
- 52. N-Queens II
- 53. Maximum Subarray
- POJ3268【最短路】
- 54. Spiral Matrix
- Light OJ 1282 Leading and Trailing (对数+快速幂)
- I AM ARRIVAL, I AM COMING.
- 55. Jump Game
- 56. Merge Intervals
- 57. Insert Interval
- 58. Length of Last Word
- hdu 1709 The Balance(母函数)