poj-2240-Arbitrage(bellmen-ford)
来源:互联网 发布:淘宝卖家团购怎么弄 编辑:程序博客网 时间:2024/05/19 13:59
货币之间的转化问题,用到bellmen-ford求是否存在负权回路。如果存在负权回路,就输出yes。否则输出no。
#include<iostream>#include<stdio.h>#include<math.h>#include<string.h>using namespace std;struct listen{ int x; int y; double rate;}dist[100000];int main(){ int n,i,j,m,leap1,leap2; double rate; char money1[100],money2[100]; char money[51][1000]; int map[101][101]; int case1=0; while(scanf("%d%*c",&n)&&n) { case1++; memset(map,-1,sizeof(map)); for(i=0;i<n;i++) { gets(money[i]); } scanf("%d%*c",&m); for(i=0;i<m;i++) { scanf("%s %lf %s%*c",money1,&rate,money2); leap1=leap2=-1; for(j=0;j<n;j++) { if(strcmp(money1,money[j])==0) { leap1=j; } if(strcmp(money2,money[j])==0) { leap2=j; } } dist[i].x=leap1; dist[i].y=leap2; dist[i].rate=rate; } double have[100]; memset(have,0,sizeof(have)); have[0]=1;//让第一种货币有一块钱 int flag; for(i=0;i<n;i++) { //更新各个货币的相对拥有量,因为一共有N种货币,所以说如果不存在负权回路的话 //最多更新n-1次就可以更新出来所有的货币的相对拥有量。 //如果第n次更新,还有货币的相对拥有量变化,说明存在负权回路 flag=0; for(j=0;j<m;j++) { if(have[dist[j].x]*dist[j].rate>have[dist[j].y]) { have[dist[j].y]=have[dist[j].x]*dist[j].rate; flag=1; // printf("-------%d %d %f %f %f\n",dist[j].x,dist[j].y,have[dist[j].x],have[dist[j].y],dist[j].rate); } } if(flag==0)break; } printf("Case %d: ",case1); if(flag)printf("Yes\n"); else printf("No\n"); } return 0;}
- poj-2240-Arbitrage(bellmen-ford)
- poj 2240 Arbitrage bellman ford
- poj 2240 Arbitrage(bellman-ford)
- poj 2240 Arbitrage(最短路+Bellman-Ford)
- poj 2240 Arbitrage bellman-ford算法
- POJ 2240 Arbitrage 图论 Bellman-ford算法
- poj 2240-Arbitrage Bellman-ford算法
- POJ 2240 Arbitrage (Bellman-Ford)
- poj 2240 Arbitrage(Bellman-Ford||Floyd)(中等)
- Bellman-Ford||SPFA-POJ-2240-Arbitrage
- POJ 2240-Arbitrage(套汇-Bellman Ford)
- poj 2240 Arbitrage(Bellman-Ford算法学习)
- poj-2240-Arbitrage(Bellman-ford算法练习 + Floyd算法练习)
- POJ 2240 Arbitrage
- poj 2240 Arbitrage
- POJ 2240 Arbitrage (Floyd)
- poj 2240Arbitrage(Floyd)
- POJ 2240 Arbitrage Floyd
- jQuery小结
- (3)AT&T汇编笔记
- 网易校园招聘c++题目--如何让new操作符不分配内存,只调用构造函数
- android sqlite *.db-journal
- HttpComponents HttpClient HttpCore POST name value
- poj-2240-Arbitrage(bellmen-ford)
- android 自动化测试工具(Ranorex)
- mplayer也可播放YUV数据
- CentOS 6.3 下用ntfs-3g挂载Widows NTFS分区
- C++重载箭头操作符
- 局部最小点
- pbo ,经典外文解说http://www.songho.ca/opengl/gl_pbo.html#overview
- Android近场通信---NFC基础(三)
- C#扩展..