POJ-3259 Wormholes【单源最短路判负环】
来源:互联网 发布:php bt下载 编辑:程序博客网 时间:2024/05/24 05:13
1.思路分析
用Bellman-Ford方法即可解决。判断负环。
2.方法设计及性能衡量
注意边可以双向走,虫洞单向,还有数组的临界范围即可。
3.实现部分
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>struct edge{int from,to,cost;};edge eg[6000];int d[520];int F,N,M,W,E;int find_negative_loop(){ memset(d,0,sizeof(d)); int i,j; for(i=0;i<N;i++){ for(j=0;j<E;j++){ edge e=eg[j]; if(d[e.to]>d[e.from]+e.cost){ d[e.to]=d[e.from]+e.cost; if(i==N-1)return 1; } } } return 0;}int main(){ scanf("%d",&F); int i; for(i=0;i<F;i++){ scanf("%d%d%d",&N,&M,&W); int j,a,b,c; E=0; for(j=0;j<M;j++){ scanf("%d%d%d",&a,&b,&c); eg[E].from=a; eg[E].to=b; eg[E].cost=c; E++; eg[E].from=b; eg[E].to=a; eg[E].cost=c; E++; } for(j=0;j<W;j++){ scanf("%d%d%d",&a,&b,&c); eg[E].from=a; eg[E].to=b; eg[E].cost=-c; E++; } if(find_negative_loop()) printf("YES\n"); else printf("NO\n"); } return 0; }
阅读全文
0 0
- POJ-3259 Wormholes【单源最短路判负环】
- poj 3259 Wormholes 图论 最短路 判负环
- poj 3259 Wormholes 最短路
- poj 3259 Wormholes 最短路
- POJ Wormholes 3259(最短路)
- poj 3259 Wormholes 负权边最短路
- poj 3259 Wormholes 最短路
- POJ 3259 Wormholes(最短路)
- poj 3259 Wormholes 【spfa判负环---求最短路】
- [POJ 3259] Wormholes 最短路判负环(SPFA版)
- POJ 3259 Wormholes(最短路Bellman_Ford)
- poj 3259 Wormholes (最短路 Bellma_ford)
- poj 3259 Wormholes (负权最短路,SPAF)
- POJ 3259 Wormholes(最短路)
- POJ 3259Wormholes(最短路bellman)
- POJ 3259 Wormholes(floyd求负环,最短路)
- POJ-3259-Wormholes [最短路][BellmanFord]
- poj 3259 -- Wormholes(最短路,负环)
- 用$http的方法请求json数据(angularjs)附加时间间隔和时间等待
- Reverse Integer--LeetCode
- 我的第一篇博客
- xlistview+imageloder+数据请求+下拉刷新
- 冒泡事件解析
- POJ-3259 Wormholes【单源最短路判负环】
- 一个项目的FAQ
- 针对input添加padding后宽度变化问题
- 第七周项目二__建立链队算法库
- 点击选择背景色
- Exception in thread "main" java.util.zip.ZipException: error in opening zip file
- python之argparse模块
- nyoj1092数字分隔(二)
- django Course has no field named