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)相关推荐

  1. POJ 1860 Currency Exchange 最短路+负环

    原题链接:http://poj.org/problem?id=1860 Currency Exchange Time Limit: 1000MS   Memory Limit: 30000K Tota ...

  2. *【POJ - 1860】Currency Exchange (单源最长路---Bellman_Ford算法判正环)

    题干: Description Several currency exchange points are working in our city. Let us suppose that each p ...

  3. poj 1860 Currency Exchange (SPFA、正权回路 bellman-ford)

    链接:poj 1860 题意:给定n中货币.以及它们之间的税率.A货币转化为B货币的公式为 B=(V-Cab)*Rab,当中V为A的货币量, 求货币S通过若干此转换,再转换为原本的货币时是否会添加 分 ...

  4. php exchange,PHP SDK for digital currency exchange

    PHP Easy Exchange SDK PHP SDK for digital currency exchange,include binance, okex, huobi pro etc---好 ...

  5. Currency Exchange——最短路Bellman-Ford算法

    [题目描述] Several currency exchange points are working in our city. Let us suppose that each point spec ...

  6. Currency Exchange(判断有无正环)

    题目描述 Several currency exchange points are working in our city. Let us suppose that each point specia ...

  7. Currency Exchange (SPFA)

    点击打开链接 Problem Description Several currency exchange points are working in our city. Let us suppose ...

  8. poj 1860 Currency Exchange (最短路bellman_ford思想找正权环 最长路)

    感觉最短路好神奇呀,刚开始我都 没想到用最短路 题目:http://poj.org/problem?id=1860 题意:有多种从a到b的汇率,在你汇钱的过程中还需要支付手续费,那么你所得的钱是 mo ...

  9. POJ 1860 Currency Exchange (SPFA松弛)

    题目链接:http://poj.org/problem?id=1860 题意是给你n种货币,下面m种交换的方式,拥有第s种货币V元.问你最后经过任意转换可不可能有升值.下面给你货币u和货币v,r1是u ...

最新文章

  1. 程序员的朋友圈应该是这样的。。。
  2. SAP MM模块常用概念--供应商评价
  3. asp.net 发送邮件代码
  4. 十个 Laravel 5 程序优化技巧
  5. lazada开店流程图解,及平台类目佣金分享!
  6. java 旋转图片_Java实现图片翻转以及任意角度旋转
  7. 专业课程设计之客户与服务器程序的同步与通信机制的设计(二)TCP通信
  8. carto笔记--- 传感器数据走向
  9. 公众号开发 单独 给某个用户 推送消息_校区学生会微信公众平台征稿启事
  10. mysql所有版本介绍_MySQL各版本介绍
  11. 楚天音乐台的在线广播的URL代码
  12. 黑鲨装机大师一键重装系统图文
  13. 自定义circleindicator
  14. MNIST手写数字识别之MLP实现
  15. PS练习7——蒙版的使用
  16. linux 虚拟光驱软件,在Linux操作系统下使用虚拟光驱的方法
  17. Firefox(火狐)好用的插件
  18. 零死角玩转stm32中级篇2-IIC总线
  19. Ideas Of MySelf 20005-07-26
  20. 为什么xp系统访问不了服务器,XP系统不能访问局域网其他电脑

热门文章

  1. 2017.4.19 数列 思考记录
  2. [C++] 如此聪明的C++编译器
  3. 【英语学习】【Daily English】U02 Daily Routine L01 Sadly, my schedule is very tight.
  4. python初始化函数_当你学会了Python爬虫,网上的图片素材就开始免费了
  5. dedecms和php有什么关系,dedecms和用PHP自己编写的程序做网站有什么区别?哪一种更好一点...
  6. bob战队 rust_c、rust、golang、swift性能比较
  7. 在unity向量空间内绘制几何(2):计算球体的表面坐标
  8. PowerVR 7架构解析
  9. javascript 设计模式之单例模式
  10. 使用Harbor配置Kubernetes私有镜像仓库