Currency Exchange (POJ 1860)
Currency Exchange
思路:用spfa来找正环,只要存在一个正环(cnt >= n),那么走这个圈无穷次后资产一定正无穷,因为路是双向的,所以一定可以返回原来的货币,正无穷再怎么亏损,一定还是正无穷
AC Code
#include <iostream>
#include <cstring>
#include <cstdio>
#include <queue>
using namespace std;const int N = 2021;
int e[N], ne[N], h[N], idx;
double rate[N], cost[N]; //汇率 佣金
double money[N];
int n, m, s; //货币种类, 兑换地点, 当前钱种类
double v; // 当前钱数量
bool st[N];
int cnt[N];void add(int a, int b, double r, double c)
{e[idx] = b, rate[idx] = r, cost[idx] = c, ne[idx] = h[a]; h[a] = idx++;
}bool spfa()
{queue<int> q;q.push(s);st[s] = true;cnt[s] = 0;money[s] = v;while(!q.empty()){int t = q.front();q.pop();st[t] = false;for(int i = h[t]; i != -1; i = ne[i]){int j = e[i];double tmp = (money[t] - cost[i]) * rate[i];if(tmp > money[j]){money[j] = tmp;cnt[j] = cnt[t] + 1;if(cnt[j] >= n)return true;if(!st[j]){q.push(j);st[j] = true;}}}} return false;
}int main()
{cin >> n >> m >> s >> v;memset(h, -1, sizeof h);while(m--){int a, b;double r1, c1, r2, c2;cin >> a >> b >> r1 >> c1 >> r2 >> c2;add(a, b, r1, c1);add(b, a, r2, c2);}cout << (spfa() ? "YES" : "NO") << endl;return 0;
}
Currency Exchange (POJ 1860)相关推荐
- POJ 1860 Currency Exchange 最短路+负环
原题链接:http://poj.org/problem?id=1860 Currency Exchange Time Limit: 1000MS Memory Limit: 30000K Tota ...
- *【POJ - 1860】Currency Exchange (单源最长路---Bellman_Ford算法判正环)
题干: Description Several currency exchange points are working in our city. Let us suppose that each p ...
- poj 1860 Currency Exchange (SPFA、正权回路 bellman-ford)
链接:poj 1860 题意:给定n中货币.以及它们之间的税率.A货币转化为B货币的公式为 B=(V-Cab)*Rab,当中V为A的货币量, 求货币S通过若干此转换,再转换为原本的货币时是否会添加 分 ...
- php exchange,PHP SDK for digital currency exchange
PHP Easy Exchange SDK PHP SDK for digital currency exchange,include binance, okex, huobi pro etc---好 ...
- Currency Exchange——最短路Bellman-Ford算法
[题目描述] Several currency exchange points are working in our city. Let us suppose that each point spec ...
- Currency Exchange(判断有无正环)
题目描述 Several currency exchange points are working in our city. Let us suppose that each point specia ...
- Currency Exchange (SPFA)
点击打开链接 Problem Description Several currency exchange points are working in our city. Let us suppose ...
- poj 1860 Currency Exchange (最短路bellman_ford思想找正权环 最长路)
感觉最短路好神奇呀,刚开始我都 没想到用最短路 题目:http://poj.org/problem?id=1860 题意:有多种从a到b的汇率,在你汇钱的过程中还需要支付手续费,那么你所得的钱是 mo ...
- POJ 1860 Currency Exchange (SPFA松弛)
题目链接:http://poj.org/problem?id=1860 题意是给你n种货币,下面m种交换的方式,拥有第s种货币V元.问你最后经过任意转换可不可能有升值.下面给你货币u和货币v,r1是u ...
最新文章
- 程序员的朋友圈应该是这样的。。。
- SAP MM模块常用概念--供应商评价
- asp.net 发送邮件代码
- 十个 Laravel 5 程序优化技巧
- lazada开店流程图解,及平台类目佣金分享!
- java 旋转图片_Java实现图片翻转以及任意角度旋转
- 专业课程设计之客户与服务器程序的同步与通信机制的设计(二)TCP通信
- carto笔记--- 传感器数据走向
- 公众号开发 单独 给某个用户 推送消息_校区学生会微信公众平台征稿启事
- mysql所有版本介绍_MySQL各版本介绍
- 楚天音乐台的在线广播的URL代码
- 黑鲨装机大师一键重装系统图文
- 自定义circleindicator
- MNIST手写数字识别之MLP实现
- PS练习7——蒙版的使用
- linux 虚拟光驱软件,在Linux操作系统下使用虚拟光驱的方法
- Firefox(火狐)好用的插件
- 零死角玩转stm32中级篇2-IIC总线
- Ideas Of MySelf 20005-07-26
- 为什么xp系统访问不了服务器,XP系统不能访问局域网其他电脑
热门文章
- 2017.4.19 数列 思考记录
- [C++] 如此聪明的C++编译器
- 【英语学习】【Daily English】U02 Daily Routine L01 Sadly, my schedule is very tight.
- python初始化函数_当你学会了Python爬虫,网上的图片素材就开始免费了
- dedecms和php有什么关系,dedecms和用PHP自己编写的程序做网站有什么区别?哪一种更好一点...
- bob战队 rust_c、rust、golang、swift性能比较
- 在unity向量空间内绘制几何(2):计算球体的表面坐标
- PowerVR 7架构解析
- javascript 设计模式之单例模式
- 使用Harbor配置Kubernetes私有镜像仓库