poj1860

poj1860[url]http://poj.org/problem?id=1860[/url]

#include <iostream>
#include <fstream>
#define ADJUST 0.00000001

using namespace std;

struct E
{
int start;
int end;
double r;
double c;
}e[108*108*2];

double v[108];
int m,n,s;
double origin;

void solved()
{
int j;
origin=v[s];
bool flag;

while(v[s]-origin<=ADJUST)
{
flag=false;
for(j=1;j<=m*2;j++)
{
if(v[e[j].end]-(v[e[j].start]-e[j].c)*e[j].r<-ADJUST)
{
v[e[j].end]=(v[e[j].start]-e[j].c)*e[j].r;
flag=true;
}
}
if(!flag)
{
if(v[s]-origin>ADJUST)
{
cout<<"YES"<<endl;
return;
}
else
{
cout<<"NO"<<endl;
return;
}
}

}
cout<<"YES"<<endl;


}

int main()
{
//ifstream cin("1.txt");
int i,j;
for(i=0;i<108;i++)
v[i]=0.0;

cin>>n>>m>>s;
cin>>v[s];

for(i=0,j=1;i<m;i++,j+=2)
{
int a,b;
double rab,rba,cab,cba;
cin>>a>>b>>rab>>cab>>rba>>cba;
e[j].start=a;
e[j].end=b;
e[j].r=rab;
e[j].c=cab;
e[j+1].start=b;
e[j+1].end=a;
e[j+1].r=rba;
e[j+1].c=cba;
}
solved();
return 0;
}

注意:
1、所开数组e的大小
2、bellman算法不再能松弛时结束
3、v[e[j].end]-(v[e[j].start]-e[j].c)*e[j].r<-ADJUST,ADJUST用负号
4、数据类型不要搞错

相关推荐

C# ArcGIS Engine二次开发——实现“加载shp文件”

private void AddShpDataToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog OpFileDialog=new OpenFileDialog();//OpenFileDialog:打开文件对话框 OpFileDialog.Title="添加矢量数据"; OpFileDialog.Filter="(*.shp)|*.shp";//filter:过滤器;"(*.shp)|*.shp"

weixin_42191203的博客 5254

poj1860 解题报告

松弛操作的一点小小的改动....附有详细说明

The_b-dn 1855

树莓派4B之OpenCV人脸识别实战:从Haar Cascade到实时检测(保姆级教程)

本教程详细介绍了如何在树莓派4B上部署OpenCV,并利用Haar Cascade算法实现实时人脸识别。内容涵盖从系统环境搭建、算法原理解析到代码逐行讲解与实战调优,为嵌入式AI和计算机视觉初学者提供了一份完整的保姆级实践指南。

p8q9r0的博客 402

POJ1860

Currency Exchange Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14080 Accep...

weixin_34235371的博客 112

STM32N6实战:FSBL引导XIP运行ThreadX与NetX Duo

在嵌入式系统开发中,程序的存储与执行方式直接影响启动速度和系统实时性。传统MCU常将代码拷贝到内存运行,而高主频处理器则可通过XIP(片外Flash原地执行)技术直接从外部存储取指,省去拷贝过程。但XIP的前提是外部存储器控制器需在上电后第一时间完成初始化,这正是FSBL(第一级引导程序)的核心职责。FSBL负责配置时钟与外部Flash,并将控制权移交给应用。而要让设备具备实时调度与网络能力,可搭配ThreadX实时内核和NetX Duo双协议栈,两者在CubeMX中原生集成,形成一套高性能MCU+外部存储

weixin_29191669的博客 319

python利用IQR方法与3σ方法进行异常值处理(含代码)

python利用IQR方法进行异常值处理

weixin_46713695的博客 2031

poj1860(spfa)

链接:点击打开链接 题意:钱的种类为N,M条命令,拥有种类为S这类钱的数目为V,命令为将a换成b,剩下的四个数为a对b的汇率和a换成b的税,b对a的汇率和b换成a的税,公式为(钱数-税)*汇率 代码:#include #include #include #include #include #include using namespace std; int n,m,s,vis[105

stay_accept的专栏 1466

CAPL编程规范与最佳实践

通过本文的学习,读者应该对CAPL编程规范与最佳实践有了初步的了解,并能够编写高质量的CAPL脚本。在实际项目中,CAPL的应用非常广泛,希望读者能够通过不断的学习和实践,掌握更多的CAPL技巧,提高自己的开发能力。

闲人编程的博客 1748

Poj1860

http://poj.org/problem?id=1860 题意参考的https://blog.csdn.net/yslcl12345/article/details/50574213,感谢大佬 题意: 我们的城市有几个货币兑换点。让我们假设每一个点都只能兑换专门的两种货币。可以有几个点,专门从事相同货币兑换。每个点都有自己的汇率,外汇汇率的A到B是B的数量你1A。同时各交换点有一些佣金,...

qq_35752161的博客 369

半导体物理基础:载流子输运理论_(4).载流子浓度与费米能级

费米能级(Fermi Level)是描述半导体中电子和空穴能量分布的基准能级。在绝对零度下,费米能级以下的所有能级都被电子占据,费米能级以上的所有能级都是空的。随着温度的升高,电子会获得足够的能量跃迁到费米能级以上的能级,形成导带中的自由电子和价带中的空穴。费米能级在半导体中的位置取决于掺杂浓度和温度。对于本征半导体,费米能级位于禁带的中心;对于掺杂半导体,费米能级会偏移,具体位置取决于掺杂类型和浓度。载流子浓度(Carrier Concentration)是指半导体中自由电子和空穴的数量密度。

2401_87715305的博客 832

10倍开发者的 Dify 魔法书:从零构建全栈 AI 应用

“不懂底层算法,也能开发爆款 AI 应用吗?” 答案是:绝对可以。 Dify 正在重新定义 AI 应用的开发范式——通过可视化的低代码平台,将原本需要数周的开发周期压缩到几小时。无论你是前端、后端、产品经理,还是渴望破局的独立开发者,这都是你不可错过的红利。 我们将手把手教你利用 Dify 快速接入百模大战,零代码搭建企业级知识库,并一键发布你的专属 AI 助手、智能客服和自动化工作流。 告别重复造轮子,掌握 Dify,一个人就是一支 AI 团队。现在上车,开启你的 10 倍速开发之旅!

davidwang456的专栏 683

POJ 1860 解题报告

这道题用的是Bellman Ford检查图里面是否有负环的做法。稍微不同的是,这里检测的是“正环”,即从S出发,看是否存在一个环,使得换到的钱(按S计算)能够不断增加。值得注意的是S不一定在这个环上,但是由于按照这个环的次序交换货币能使货币总量无限增加,总可以再换到S,使得钱比一开始增加了。 thestoryofsnow 1860 Accepted 152K 32MS

thestoryofsnow的专栏 663

【WRF数据准备】土地利用数据-MODIS MCD12Q1数据下载及制备

【WRF数据准备】MODIS静态地理数据下载及制备

WW、forever的博客 3413

poj java_poj1860之java实现

题目分析可从我的另外一篇博文poj1860解题报告中查看,java试水之作,如有不妥之处请见谅。附测试数据:3 2 1 20.01 2 1.00 1.00 1.00 1.002 3 1.10 1.00 1.10 1.00//4564K3188MSimport java.util.Arrays;import java.util.Scanner;import org.omg.CORBA.DoubleS...

weixin_42683392的博客 255

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【POJ1860】Currency Exchange

【POJ1860】Currency Exchange 题目链接:http://poj.org/problem?id=1860 题意是,现在有几种钞票,可以在这些钞票中进行兑换,兑换时必须将手中的钞票全部兑换成另一种,给出一些兑换的方式,每种方式有固定的钞票类型,手续费和兑换比例,最开始你有一些某种类型的钞票,问是否能是手中的钞票增多(最后仍需兑换成原来的钞票)。 问题的本质是

橘黄色灯光 454

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

POJ 1860 Currency Exchange

POJ 1860 Currency Exchange 大体题意:有个小朋友手里有某种货币V个,问能不能从银行通过一些骚操作把手里的这种货币变多!!.(假定她手上的货币种类是rmb吧) 思路:首先,如果能用一些骚操作把从另一种钱换回rmb,那么汇率体系一定是一个循环,可以类似A->B,B->C,C->A,也就是说,这个环是一个正环(循环之后A变多),这是最优的情况,但有可能C-&g...

qq_36397544的博客 137

POJ1860Currency Exchange

BellmanFord解决poj1860问题

WinForBest 374

POJ - 1860 Currency Exchange SPFA判断正环模版

题目链接 POJ-1860 题意 给定n种货币和m种兑换方式,每种兑换方式有汇率和手续费(A-B和B-A的汇率手续费不一定一样)。给定初始货币种类和数量,问是否可以任意次兑换后实现货币增值(以初始货币计) 解法 将货币看作节点,交换方式看作边。如果存在增值的兑换方式,由于每个兑换可以多次使用,那么可以将货币兑换到无穷多,那么这种兑换方式中有无初始货币也就无所谓了。例如初始货币A,增值兑换方式B-C-D-B,虽然这个兑换中没有A,但因为可以无限次兑换,总能得到一个足够大的货币量,兑换回A仍然增值。那么只需要判

TheSunspot的博客 686

POJ-1860-Currency Exchange

链接:https://vjudge.net/problem/POJ-1860 题意: 有N个点,支持货币兑换,从货币a->b手续费c,汇率r。 求能否换一圈使总净额增加。 思路: bellman-ford。 找一个正权回路。 代码: #include <iostream> #include <memory.h> using namespace ...

weixin_33918114的博客 67

POJ 1860 Currency Exchange 【dijkstra + 多一次松弛】

POJ 1860 Currency Exchange 【dijkstra + 多一次松弛】 题目链接:poj 1860 题目大意: 这个城市一共有N种货币,两种货币之间有兑换方式,计算公式为 (A货币-A到B佣金) * A到B的汇率 = B货币,问能不能通过不断兑 换,使初始货币增加。 Input: 第一行分别是N(货币种类)P(兑换方式数)M(初始货币种类)S(初始拥有的货币量) 接下来的P行,每一行分别是 A种类 B种类 A到B的汇率 A到B的佣金 B到A的汇率 B到A的佣金 Output: 可以使

qq_43555122的博客 222

poj 1860

我们熟悉的算法dijkstra可用于求单源点到其他各点的最短距离。但是有一个问题在于,图中所有边的权之都应该为正值。因为如果有负权值的边,则只要绕着这条负值边一直走,最算路径很可能越来越短。而这正是bellman ford算法的思想:如果路径可以缩短,那么就按照dijkstra的算法让路径进行N-1次(N为图中的顶点个数)缩短。如果N-1次缩短之后仍能继续缩短,那么图中必定存在负边。 算法的思想

冰上游鱼 2085

POJ1860 Currency Exchange —— spfa求正环

题目链接:http://poj.org/problem?id=1860 Currency Exchange Time Limit:1000MS Memory Limit:30000K Total Submissions:32128 Accepted:12228 Description Several curr...

alince20008的博客 196

POJ1860 bellman-ford算法

POJ1860 bellman-ford算法 目的 求单源权值可负最短路径,判断有无负权回路 基本思路 dis[N]记录当前源点到所有N个点的路径长度,dis[]下标对应每个点的标号;初始将源点dis设为0,其余各点dis设为+∞ 遍历所有边,假如该边起点的dis+该边权值 < 该边终点的dis,说明最短路径长度应该被更新:令该边终点的dis=该边起点的dis+该边权值。每次遍历称为...

qq_43513855的博客 202
上一篇: water~9
下一篇: acm题目常用的预处理
RedMidnight
博客等级 码龄17年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值