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、数据类型不要搞错

相关推荐

Cursor设置界面汉化保姆级教程:手把手教你修改JS文件实现中文界面(附避坑指南)

本文提供Cursor编辑器设置界面汉化的详细教程,从定位JS文件到安全修改实现中文界面,包含必备工具清单、文件路径指引和常见问题解决方案。通过手把手教学帮助用户轻松完成汉化,提升使用体验,特别适合不熟悉英文界面的开发者。

weixin_29007809的博客 1414

poj1860 解题报告

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

The_b-dn 1855

Vmware虚拟机克隆详解:固定ip + 修改uuid等内容

分两大步 设置固定ip 克隆后修改相关配置 本文引用的其他地方的图片。会附上链接 若侵权,删 一、设置静态ip 先进行虚拟网络的编辑 接下来的操作需要管理员权限。(给权限就完事了) 接下来设置网卡: 网络和共享中心→ 更改适配器设置→VMware Network Adapter VMnet8 -> 右键属性 修改TCP/Ipv4的配置,网上常见是这种,笔者是英文的...

Unknownfuture的博客 9070

POJ1860

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

weixin_34235371的博客 112

AI快速变现之路,AI视频创作

初期投入$3000(工具订阅+样片制作),重点攻克跨境电商和本地生活服务市场。关注2025年AIGC视频工具的API降价趋势(如Pika企业版折扣可达50%),建议与云服务商签订长期合作协议。

qq_29896351的博客 1981

遗传算法(Genetic Algorithm)详解与实现

遗传算法(Genetic Algorithm, GA)是受自然进化原理启发的一系列搜索算法。通过模仿自然选择和繁殖的过程,遗传算法可以为涉及搜索、优化和学习的各种问题提供高质量的解决方案。同时,它们类似于自然进化,因此遗传算法可以克服传统搜索和优化算法遇到的一些障碍,尤其是对于具有大量参数和复杂数学表示形式的问题。

盼小辉丶的博客 24万+

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

华为OD机考双机位C卷 - 员工派遣 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 员工派遣 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 1035

Poj1860

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

qq_35752161的博客 369

ABAP RAP 行为建模深入学习:从 Behavior Definition 到 Behavior Implementation 的完整实践指南

ABAP RAP开发指南:业务行为定义与实现 本文介绍SAP RAP框架中业务对象行为的开发方法: 分层设计 Behavior Definition声明业务能力(增删改查、校验、动作等) Behavior Implementation在ABAP类中编写具体逻辑 核心组件 使用BDL定义业务行为 通过FOR BEHAVIOR OF绑定行为池类(ABP) 在本地类实现校验/确定/动作逻辑 关键特性 支持managed/unmanaged两种实现模式 提供草稿表、并发控制等企业级功能 通过EML以别名访问实体 开

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 413

(10)三相三绕组变压器的建模仿真

建立了三相三绕组变压器组的Simulink仿真模型,通过实例进行了仿真计算。

weixin_45670943的博客 1143

POJ 1860 解题报告

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

thestoryofsnow的专栏 663

NVIDIA Isaac GR00T N1.5 人形机器人强化学习入门教程(四)Lerobot、宇树 G1 等不同形态机器人微调教程

本笔记本是一份关于如何在新的数据集上对GR00T-N1预训练模型进行微调的教程。

2506_90492529的博客 1667

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【POJ1860】Currency Exchange

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

橘黄色灯光 454

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

pscad IEEE标准系统搭建说明

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

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、付费专栏及课程。

余额充值