poj 3259 (Bellman_Ford判断负环)
题意:John的农场里n块地,m条路连接两块地,k个虫洞,虫洞是一条单向路,不但会把你传送到目的地,而且时间会倒退Ts。我们的任务是知道会不会在从某块地出发后又回来,看到了离开之前的自己。
思路:虫洞连接的边是负权值的,如果途中存在一个负环的话,他可以沿着这个换一直走,时间肯定为负值。
#include<string.h>
#include<stdio.h>
const int N=510;
const int inf=0x3fffffff;
int start,num,n,dist[N];
struct edge
{
int st,ed,w;
}e[6000];
void addedge(int x,int y,int w)
{
e[num].st=x;e[num].ed=y;e[num++].w=w;
}
int Bellman_Ford()
{
int flag=0,i,u,v,j;
for(i=1;i<=n;i++)
dist[i]=inf;
dist[start]=0;
for(i=1;i<n;i++)//n-1次松弛
{
for(j=0;j<num;j++)
{
u=e[j].st;v=e[j].ed;
if(dist[v]>dist[u]+e[j].w)
{
dist[v]=dist[u]+e[j].w;
flag=1;
}
}
if(flag==0)break;
}
for(i=0;i<num;i++)
if(dist[e[i].ed]>dist[e[i].st]+e[i].w)//有负环
return 1;
return 0;
}
int main()
{
int m,i,x,y,k,t,Case;
scanf("%d",&Case);
while(Case--)
{
scanf("%d%d%d",&n,&m,&k);
num=0;
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&t);
addedge(x,y,t);
addedge(y,x,t);
}
for(i=0;i<k;i++)
{
scanf("%d%d%d",&x,&y,&t);
addedge(x,y,-t);
}
start=0;
if(Bellman_Ford())
printf("YES\n");
else printf("NO\n");
}
return 0;
}
poj 3259 (Bellman_Ford判断负环)的更多相关文章
- Wormholes POJ - 3259 spfa判断负环
//判断负环 dist初始化为正无穷 //正环 负无穷 #include<iostream> #include<cstring> #include<queue> # ...
- POJ 3259 Wormholes【bellman_ford判断负环——基础入门题】
链接: http://poj.org/problem?id=3259 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- POJ 3259 Wormholes【Bellman_ford判断负环】
题意:给出n个点,m条正权的边,w条负权的边,问是否存在负环 因为Bellman_ford最多松弛n-1次, 因为从起点1终点n最多经过n-2个点,即最多松弛n-1次,如果第n次松弛还能成功的话,则说 ...
- ACM: POJ 3259 Wormholes - SPFA负环判定
POJ 3259 Wormholes Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu ...
- poj 1860 (Bellman_Ford判断正环)
题意:给出n种货币,m中交换关系,给出两种货币汇率和手续费,求能不能通过货币间的兑换使财富增加. 用Bellman_Ford 求出是否有正环,如果有的话就可以无限水松弛,财富可以无限增加. #incl ...
- poj 3259 Wormholes 判断负权值回路
Wormholes Time Limit: 2000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Java ...
- POJ 3259 Wormholes【最短路/SPFA判断负环模板】
农夫约翰在探索他的许多农场,发现了一些惊人的虫洞.虫洞是很奇特的,因为它是一个单向通道,可让你进入虫洞的前达到目的地!他的N(1≤N≤500)个农场被编号为1..N,之间有M(1≤M≤2500)条路径 ...
- POJ 3259 Wormholes ( SPFA判断负环 && 思维 )
题意 : 给出 N 个点,以及 M 条双向路,每一条路的权值代表你在这条路上到达终点需要那么时间,接下来给出 W 个虫洞,虫洞给出的形式为 A B C 代表能将你从 A 送到 B 点,并且回到 C 个 ...
- spfa判断负环
会了spfa这么长时间竟然不会判断负环,今天刚回.. [例题]poj3259 题目大意:当农场主 John 在开垦他的农场时,他发现了许多奇怪的昆虫洞.这些昆虫洞是单向的,并且可以把你从入口送到出口, ...
随机推荐
- css3之3D翻牌效果
最近一直在学css3,发现他真的是越来越牛逼.现在的css3已经不在是以前的css了,它能做出的功能效果是我们没法想象的了.它可以实现flash,可以制作一些js能做出来的效果,还可以写出ps做出 ...
- 利用js闭包获取索引号
以tab选项卡效果为例: 网页中的选项卡效果
- AppClassLoader和WebAppClasssLoader的坑
最近,打算学习一下spring mvc,为后续做一些积累. 搭建spring+mybatis,动态创建mapper,mapper的文件名称和类在一个目录,但是我之前犯个 错误,大小写写错了,结果我用普 ...
- css案例学习之层叠样式
代码 <html> <head> <title>层叠特性</title> <style type="text/css"> ...
- 攻击DotCom小游戏
许久都没写博客了,些许是前段时间有些懈怠,今天来写博客,想记录下做过的事情,怕以后电脑换了,以前做的小项目也跟着丢了,总结下最近做的一个小游戏: 游戏目的:建立一个7X7的网格,选择其中的连续的三格来 ...
- 关于 unity3d securityexception no valid crossdomain policy available 的错误解决方法
错误大概就是这样的,事实上我一直没有注意,好像是我转平台到webplayer的关系,就无法访问自己的服务器上面的东东了,现在怎么做呢? 在自己的服务器根目录(哪个是根目录不懂,可以去投胎了哈),创建一 ...
- Debug, Release区别
Debug, Release区别 Debug附加了很多调试信息,主要用于调试,所以文件大 Release就是经过优化的版本,去除了调试信息,进行了代码优化,所以文件较小,同时速度要快于Debug De ...
- iOS多线程GCD(转)
原文:http://www.cnblogs.com/pure/archive/2013/03/31/2977420.html Grand Central Dispatch (GCD)是Apple开发的 ...
- C#获取单个字符的拼音声母
public class ConvertToPinYing { /// <summary> /// 汉字转拼音缩写 /// < ...
- dog-fooding-our-api-authentication
Dog-fooding our API - Authentication http://blog.mirajavora.com/authenticate-web-api-using-access-to ...