POJ 2240 Arbitrage 套利
来源:互联网 发布:python网络数据采集pdf 编辑:程序博客网 时间:2024/06/10 18:25
自己到自己开始为1,经过floyd。。。。。之后看看是否有map[i][i]>1,如果有,就可以获利
#include <algorithm>#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#define inf 0x3f3f3fusing namespace std;double map[50][50];void view(int n){ char s[100][100]; char a[100]; char b[100]; int i, j, k; for(i = 1;i <= n;i++){ cin >> s[i]; } int m; cin >> m; double t; for(i =1;i <= m;i++){ cin >> a >> t >> b; for(j = 1;j <= n;j++){ if(!strcmp(s[j],a)){ break; } } for(k = 1;k <= n;k++){ if(!strcmp(s[k],b)){ break; } } map[j][k] = t; }}void floyd(int n){ int i, j, k; for(k = 1;k <= n;k++){ for(i = 1;i <= n;i++){ for(j = 1;j <= n;j++){ if(map[i][j] < map[i][k]*map[k][j]){ map[i][j] = map[i][k]*map[k][j]; } } } }}int main(){ int n; int flag; int cnt = 0; int i, j; while(cin >> n){ if(n == 0) break; for(i = 1;i <= n;i++){ for(j = 1;j <= n;j++){ if(i == j) map[i][j] = 1; else map[i][j] =0; } } cnt++; flag = 0; view(n); floyd(n); for(i = 1;i <= n;i++){ if(map[i][i] > 1){ flag = 1; break; } } if(flag){ printf("Case %d: Yes\n", cnt); }else { printf("Case %d: No\n", cnt); } } return 0;}
0 0
- POJ 2240 Arbitrage 套利
- uva 104 arbitrage(套利)
- POJ 2240 Arbitrage
- poj 2240 Arbitrage
- POJ 2240 Arbitrage (Floyd)
- poj 2240Arbitrage(Floyd)
- POJ 2240 Arbitrage Floyd
- Poj 2240 Arbitrage
- POJ 2240 Arbitrage
- poj 2240 Arbitrage
- POJ 2240 Arbitrage (spfa)
- POJ 2240 Arbitrage
- POJ 2240 Arbitrage
- Poj 2240 Arbitrage
- POJ 2240 Arbitrage
- POJ 2240 Arbitrage
- POJ 2240 Arbitrage
- POJ 2240 Arbitrage
- cocos2dx中的观察者模式
- 表单标签
- 数据结构上机测试1:顺序表的应用
- 字符串编码解压缩算法
- HDOJ 4514 湫湫系列故事——设计风景线
- POJ 2240 Arbitrage 套利
- KMP算法中怎么求next数组
- 顺序表应用1:多余元素删除之移位算法
- 工作第三周 : 程序猿的出世与入世
- 冒泡排序与快速排序
- SSH
- 杭电2196Computer(求每个点的最长路)
- 超链接
- HDU 3342 Legal or Not(拓扑排序)