【Bellman_Ford】poj 1860 Currency Exchange
来源:互联网 发布:求购信息搜索软件 编辑:程序博客网 时间:2024/06/05 19:16
http://poj.org/problem?id=1860
题意:A和B交换率相等(双向图),每次交换需要小费(可以交换多次),问经过一系列交换后(最后需要换回最开始的那种货币),资金能否增长?
分析:寻找正权回路
#include <iostream>#include <cstdio>#include <map>#include <cstring>#include <string>using namespace std;const int NM=105;double dis[NM];int n,m;struct Node{int x,y;double r,c;}q[NM<<1];bool Bellman_Ford(int s,double v){int i,j;memset(dis,0,sizeof(dis));dis[s]=v;for(i=0;i<n;i++){for(j=0;j<2*m;j++){if(dis[q[j].y]<(dis[q[j].x]-q[j].c)*q[j].r)dis[q[j].y]=(dis[q[j].x]-q[j].c)*q[j].r;}}for(j=0;j<2*m;j++){if(dis[q[j].y]<(dis[q[j].x]-q[j].c)*q[j].r)return true;}return false;}int main(){int s,i;double v;while(~scanf("%d%d%d%lf",&n,&m,&s,&v)){for(i=0;i<m;i++){scanf("%d%d%lf%lf%lf%lf",&q[i].x,&q[i].y,&q[i].r,&q[i].c,&q[i+m].r,&q[i+m].c);q[i+m].x=q[i].y;q[i+m].y=q[i].x;}if(Bellman_Ford(s,v)) printf("YES\n");else printf("NO\n");}return 0;}
0 0
- POJ 1860 Currency Exchange bellman_ford
- 【Bellman_Ford】poj 1860 Currency Exchange
- POJ 1860 Currency Exchange [bellman_ford]
- POJ 1860:Currency Exchange(Bellman_Ford算法)
- poj 1860 Currency Exchange (Bellman_Ford)
- poj 1860 Currency Exchange (Bellman_ford 算法)
- poj 1860-Currency Exchange(Bellman_Ford算法)
- 【POJ 1860】Currency Exchange(Bellman_Ford)
- (Bellman_ford+队列 求环) poj 1860 Currency Exchange
- poj Currency Exchange(Bellman_ford变形)
- poj1860 Currency Exchange (bellman_ford)
- Currency Exchange POJ1860 bellman_ford
- POJ 1860 Currency Exchange
- poj 1860 Currency Exchange
- POJ 1860 Currency Exchange
- Poj 1860 Currency Exchange
- POJ 1860 Currency Exchange
- poj 1860 Currency Exchange
- POJ 1436 Horizontally VisibleSegments(线段树:区间覆盖染色)
- 虚拟机+可信+云计算
- Linuxx下安装软件方法汇总
- jquery 设置输入框背景样式透明,按钮背景样式保存不变
- C++构造函数、拷贝构造函数、赋值函数、析构函数在函数调用中的使用过程
- 【Bellman_Ford】poj 1860 Currency Exchange
- 关于指针的一些用法
- Airport Express
- ACM计算几何题目推荐
- python 多线程+gzip压缩 爬虫
- spring学习笔记4——SpEL表达式
- 使用throw抛出异常
- java xml解析 学习笔记(4)——DOM4J
- 在线安装SVN