poj1860Currency Exchange(bell_fordmoban)
http://poj.org/problem?id=1860
模板提
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
#include<queue>
#include<cmath>
using namespace std;
#define INF 0xfffffff
double dis[],v;
int n,m;
struct node
{
int r,c;
double r1,c1,r2,c2;
}p[];
int bell_ford(int s)
{
int i,j;
memset(dis,,sizeof(dis));
dis[s] = v;
for(i = ; i <= n ; i++)
{
int flag = ;
for(j = ; j <= m ; j++)
{
if((dis[p[j].r]-p[j].c1)*p[j].r1>dis[p[j].c])
dis[p[j].c] = (dis[p[j].r]-p[j].c1)*p[j].r1;
if((dis[p[j].c]-p[j].c2)*p[j].r2>dis[p[j].r])
dis[p[j].r] = (dis[p[j].c]-p[j].c2)*p[j].r2;
flag = ; }
if(!flag) break;
}
for(j = ; j <= m ; j++)
{
if((dis[p[j].r]-p[j].c1)*p[j].r1>dis[p[j].c])
return ;
if((dis[p[j].c]-p[j].c2)*p[j].r2>dis[p[j].r])
return ;
}
return ;
}
int main()
{
int i,s;
while(scanf("%d%d%d%lf",&n,&m,&s,&v)!=EOF)
{
for(i = ; i <= m ; i++)
{
scanf("%d%d%lf%lf%lf%lf",&p[i].r,&p[i].c,&p[i].r1,&p[i].c1,&p[i].r2,&p[i].c2);
}
if(bell_ford(s))
{
puts("YES");
}
else
puts("NO");
}
return ;
}
poj1860Currency Exchange(bell_fordmoban)的更多相关文章
- POJ1860Currency Exchange(Bellman + 正权回路)
Currency Exchange Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 23938 Accepted: 867 ...
- POJ1860Currency Exchange(SPFA)
http://poj.org/problem?id=1860 题意: 题目中主要是说存在货币兑换点,然后现在手里有一种货币,要各种换来换去,最后再换回去的时候看能不能使原本的钱数增多,每一种货币都有 ...
- POJ1860-Currency Exchange (正权回路)【Bellman-Ford】
<题目链接> <转载于 >>> > 题目大意: 有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0. ...
- 【SPFA】POJ1860-Currency Exchange
[题目大意] 给出每两种货币之间交换的手续费和汇率,求出从当前货币s开始交换,能否赚. [思路] 反向运用SPFA,判断是否有正环.每次队首元素出队之后,判断一下到源点s的距离是否增大,增大则返回tr ...
- poj1860--Currency Exchange
Bellman-ford算法的反向应用--正循环检查 /** \brief poj 1860 Bellman-Ford * * \param date 2014/7/24 * \param state ...
- OpenCASCADE Data Exchange - 3D PDF
OpenCASCADE Data Exchange - 3D PDF eryar@163.com Abstract. Today most 3D engineering model data are ...
- RabbitMQ学习系列(四): 几种Exchange 模式
上一篇,讲了RabbitMQ的具体用法,可以看看这篇文章:RabbitMQ学习系列(三): C# 如何使用 RabbitMQ.今天说些理论的东西,Exchange 的几种模式. AMQP协议中的核心思 ...
- [Exchange 2013]创建约会和会议
简介 会议和约会之间的重要区别是,会议有与会者,并且没有约会.约会和会议可以是单实例或属于重复序列,但与会者. 房间或资源中不包括约会,因为它们不需要发送一条消息.在内部,Exchange 使用相同的 ...
- Exchange超级实用命令行
发现Powershell很强大以后,就欲罢不能了.来点干货
随机推荐
- sublime text3使用心得及个人配置 sublime常用快捷键大全
下载好后:1.安装package controlimport urllib.request,os; pf = 'Package Control.sublime-package'; ipp = subl ...
- Shell日期时间和时间戳的转换
Gitlab的备份文件是以时间戳显示的,类似:1438624820_gitlab_backup.tar 为了更易于阅读,想把文件名转换成日期格式:2015-08-04_gitlab_backup.ta ...
- Hadoop的RPC框架介绍
为什么会引入RPC: RPC采用客户机/服务器模式.请求程序就是一个客户机,而服务提供程序就是一个服务器.当我们讨论HDFS的,通信可能发生在: Client-NameNode之间,其中NameNod ...
- 函数式 CSS (FCSS)
在Wealthfront我们是一个函数式编程的超级粉丝.强调不变性和函数式风格意味着更少的“意外”(surprises),因为副作用是有限的或不存在的.我们能将独立的组件迅速构建出大型系统,通过组合的 ...
- 快速编写HTML,CSS代码的有力工具Emmet插件
Emmet 是一个编辑器插件,它以一种简写的语法规则可用于快速编写html或css文档内容,它支持多种编辑器. 从官网:http://emmet.io/ 可下载各个编辑器的插件.notepad++ 插 ...
- mysql limit
select * from tablename limit 1,4即取出第2条至第5条,4条记录
- (转)android屏幕适配
声明:eoe文章著作权属于作者,受法律保护,转载时请务必以超链接形式附带如下信息 原文作者: zhuangyujia 原文地址: http://my.eoe.cn/zhuangyujia/archiv ...
- java 时间戳与日期字符串相互转换
/** * 时间戳转换成日期格式字符串 * @param seconds 精确到秒的字符串 * @param formatStr * @return */ public static String t ...
- C#反射Assembly 详细说明
1.对C#反射机制的理解2.概念理解后,必须找到方法去完成,给出管理的主要语法3.最终给出实用的例子,反射出来dll中的方法 反射是一个程序集发现及运行的过程,通过反射可以得到*.exe或*.dll等 ...
- list, set操作
def union_list(l1, l2): result = [] if not l1: result.extend(l2) return result if not l2: result.ext ...