POJ 1797 Heavy Transportation(dijkstra )
2014-08-19 00:13
253 查看
题意:从1 到n 选择一条载重最大的路 并求出最大值
思路:
要得出最大的载重量 我们就要求出每条路线能够负重的最小值
可以通过 dijkstra算法来求出
假设现在在x 点 在这之前的最大载重量为 d[x] 现在要通过路线 w[x][y] 到达y
我们就要将 d[x]和w[x][y] 进行比较 分类讨论得到 d[y]
思路:
要得出最大的载重量 我们就要求出每条路线能够负重的最小值
可以通过 dijkstra算法来求出
假设现在在x 点 在这之前的最大载重量为 d[x] 现在要通过路线 w[x][y] 到达y
我们就要将 d[x]和w[x][y] 进行比较 分类讨论得到 d[y]
#include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #include<algorithm> #include<queue> #include<stack> #define mem(a,b) memset(a,b,sizeof(a)) #define ll __int64 #define MAXN 1000 #define INF 0x7ffffff #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 using namespace std; int w[1200][1200]; int d[1200]; int v[1200]; int main() { int t,n,m,cas=1; int i,j; int a,b,c; cin>>t; while(t--) { printf("Scenario #%d:\n",cas++); cin>>n>>m; mem(w,0); mem(v,0); while(m--) { scanf("%d%d%d",&a,&b,&c); w[a][b]=w[b][a]=c; } for(int i=1;i<=n;i++) d[i]=(i==1?INF:0); for(i=1;i<=n;i++) { int x,maxx=0; for(int y=1;y<=n;y++) if(!v[y]&&d[y]>=maxx) maxx=d[x=y]; v[x]=1; for(int y=1;y<=n;y++) { if(d[x]>=w[x][y]&&w[x][y]>d[y]) { d[y]=w[x][y]; } else if(d[x]<w[x][y]&&d[x]>d[y]) { d[y]=d[x]; } } } cout<<d <<endl<<endl; } return 0; }
相关文章推荐
- 【最短路入门专题1】E - Heavy Transportation Poj 1797【Dijkstra变形题】
- POJ 1797 图论 Dijkstra
- poj-1797-Heavy Transportation dijkstra 水模板
- POJ 1797 ——Heavy Transportation——————【最短路、Dijkstra、最短边最大化】
- poj 1797 Heavy Transportation 【dijkstra的变形】
- POJ ~ 1797 ~ Heavy Transportation (Dijkstra+最小值最大化)
- POJ 1797 Heavy Transportation(Dijkstra变形) 解题报告
- Dijkstra||Prim-POJ-1797-Heavy Transportation
- POJ 1797 Heavy Transportation(dijkstra变形)
- poj 1797 Heavy Transportation(dijkstra)
- POJ 1797 - Heavy Transportation(dijkstra变形)
- POJ - 1797 Heavy Transportation(dijkstra)
- Poj(1797) Dijkstra对松弛条件的变形
- POJ-1797 Heavy Transportation(dijkstra)
- poj 1797 Dijkstra 变形
- (Realx dijkstra1.1)POJ 1797 Heavy Transportation(使用dijkstra来解决最大生成树问题)
- POJ 1797 Heavy Transportation dijkstra 变形
- poj 1797 最短路变形dijkstra
- POJ 1797 Heavy Transportation&&POJ 2253 Frogger 最短路 dijkstra变形
- POJ 1797 Heavy Transportion Dijkstra变形