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很强大以后,就欲罢不能了.来点干货
随机推荐
- css hack一览
浏览器对css hack的支持情况
- Hadoop的RPC框架介绍
为什么会引入RPC: RPC采用客户机/服务器模式.请求程序就是一个客户机,而服务提供程序就是一个服务器.当我们讨论HDFS的,通信可能发生在: Client-NameNode之间,其中NameNod ...
- 利用Jquery实现http长连接(LongPoll) {转}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="JqueryAjaxLongPo ...
- ”sql Server2008 应用程序无法启动,因为应用程序的并行配置不正确。 找不到从属程序集。“C:\windows\SysWOW64\DTSPipelinePerf100.dll”的激活上下文生成失败“的解决方案
一:控制面板->管理工具->事件查看器->windows日志->应用程序 查看错误原因: 二:在其他机子上拷贝一个DTSWizard.exe.config文件替换本机上已经 ...
- 让IE支持max-width
1:expression在FF下不支持 2:*html内的width不要带单位(px). 3:width:expression(eval(this.offsetWidth>1600?1600:t ...
- 运行时修改TimerTask的执行周期
java.util.TimerTask类的执行周期period变量的声明如下: /** * Period in milliseconds for repeating tasks. A positive ...
- sql Server2005 master损坏处理
一.准备条件 a) 假设Master 数据库Hung:关闭SQL Server 服务(关闭MSSQLSERVER,SQL Server Agent其他的没有影响),然后剪切C:/Pro ...
- Android线程消息通信(一)
Android在Java标准线程模型的基础上,提供了消息驱动机制,用于多线程之间的通信.基于消息驱动机制的线程通信模型陈伟线程消息通信.在标准线程模型中,线程执行完毕后便退出,而Android扩展了线 ...
- 关于Try/Catch 代码块
应当放在Try/Catch 代码块中的常见任务包括连接到一个数据库或与其交互.处理文件.调用Web 服务. 老实说,我这人很少有打破沙锅问到底的精神.不过昨晚听一技术人员跟他的项目经理说要在程序中使用 ...
- 290. Word Pattern
题目: Given a pattern and a string str, find if str follows the same pattern. Here follow means a full ...