POJ - 1797 最短路思想加以变化解此题..
2012-02-13 22:55
369 查看
题目的意思其实是说给一个无向图..并给出两点间的路径..以及路径所能承受的最大重量..问从点1出发..最多能带多重的货物到达点n..使得经过的路径都不会超过最大承受重量..
就是将求最短路径时..原本每次是更新起点到某点的最短距离,改为起点到某点的最大承重..dijkstra..Bellman-Ford...SPFA都可以...
我就因为写错一个变量..结果不停的RE..搞得很郁闷..一度怀疑题意理解有问题...耽误了好多时间反复检查..总之还是不够细心...
就是将求最短路径时..原本每次是更新起点到某点的最短距离,改为起点到某点的最大承重..dijkstra..Bellman-Ford...SPFA都可以...
我就因为写错一个变量..结果不停的RE..搞得很郁闷..一度怀疑题意理解有问题...耽误了好多时间反复检查..总之还是不够细心...
#include<iostream> #include<queue> #include<stdio.h> #include<math.h> #define oo 200000000 using namespace std; int T,t,n,m,_link[1005]; struct node { int x,y,w,next; }line[2000005]; queue<int> myqueue; int s[1005]; bool inqueue[1005]; int SPFA() { int i,k,h,x; for (i=1;i<=n;i++) { s[i]=0; inqueue[i]=false; } while (!myqueue.empty()) myqueue.pop(); s[1]=oo; myqueue.push(1); while (!myqueue.empty()) { h=myqueue.front(); myqueue.pop(); inqueue[h]=false; k=_link[h]; while (k) { x=min(s[h],line[k].w); if (s[line[k].y]<x) { s[line[k].y]=x; if (!inqueue[line[k].y]) { myqueue.push(line[k].y); inqueue[line[k].y]=true; } } k=line[k].next; } } return s ; } int main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); scanf("%d",&T); t=0; while (T--) { int x,y,z,i; scanf("%d%d",&n,&m); for (x=1;x<=n;x++) _link[x]=0; for (i=1;i<=m;i++) { scanf("%d%d%d",&x,&y,&z); line[i*2-1].x=x; line[i*2-1].y=y; line[i*2-1].w=z; line[i*2-1].next=_link[x]; _link[x]=i*2-1; line[i*2].x=y; line[i*2].y=x; line[i*2].w=z; line[i*2].next=_link[y]; _link[y]=i*2; } m*=2; printf("Scenario #%d:\n%d\n\n",++t,SPFA()); } return 0; }
相关文章推荐
- (POJ 1797)Heavy Transportation 最大生成树|最短路变形 (理解最短路核心思想好题)
- POJ 1797 Heavy Transportation (最短路变形)
- Poj 1797 Heavy Transportation ( 最短路变形
- poj 1797(最短路变形)
- POJ-1797 Heavy Transportation( 最短路 )
- POJ 1797 Heavy Transportation (最短路)
- POJ - 1797 Heavy Transportation 单源最短路
- poj 1797 最短路变形
- Poj 1797 Heavy Transportation (最短路变形)
- poj 1797 Heavy Transportation 用的dp的思想
- POJ1797 Heavy Transportation 最短路
- 最短路 - C - Heavy Transportation POJ - 1797
- poj-1797 heavy transportation(最短路变形)
- 图论最短路dijkstra----poj1797模板题
- POJ - 1797(最短路变形or最大生成树)
- poj1797 - Heavy Transportation(最大边,最短路变形spfa)
- 【POJ 1797】Heavy Transportation(最短路dij)
- poj 1797 最短路变形dijkstra
- POJ 1797 Heavy Transportation 【最短路思维+最大承载】
- Heavy Transportation POJ - 1797 --- 最短路思维的最大承载量(最大生成树)