UVA 436 Arbitrage (II)【floyd】
2015-08-08 20:22
381 查看
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=377
题意:硬币兑换,能不能兑换一圈使得手中的钱变多。
floyd传递闭包。
代码:
题意:硬币兑换,能不能兑换一圈使得手中的钱变多。
floyd传递闭包。
代码:
[code]#include <stdio.h> #include <iostream> #include <algorithm> #include <string.h> #include <queue> #include <math.h> #include <map> #include <string> using namespace std; int n, m; map<string, int> MP; double a[50][50]; int main() { string s,y; double tmp; int cases = 1; while (cin >> n && n) { memset(a, 0, sizeof(a)); MP.clear(); for (int i = 1; i <= n; i++) { cin >> s; MP[s] = i; } for (int i = 1; i <= n; i++) a[i][i] = 1.0; cin >> m; for (int i = 1; i <= m; i++) { cin >> s >> tmp >> y; a[MP[s]][MP[y]] = tmp; } for (int k = 1; k <= n; k++) for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) { if (a[i][j] < a[i][k] * a[k][j]) a[i][j] = a[i][k] * a[k][j]; } int ok = 0; for (int i = 1; i <= n; i++) if (a[i][i] > 1.0) { ok = 1; break; } printf("Case %d: ",cases++); if (ok) printf("Yes\n"); else printf("No\n"); } return 0; }
相关文章推荐
- jQuery 的 ready 函数是如何工作的?
- poj 1564 Sum It Up 搜索
- Codeforces Gym 100286I iSharp 水题
- java32至md5加密
- 如何new一个二维数组
- sublime 插件
- **HDU 4281 - Judges' response(DP`背包+TSP)
- POJ1320 Street Numbers(佩尔方程)
- 《计算机程序设计艺术(第一卷)》的问题
- Spark 性能相关参数配置详解-shuffle篇
- java 代理模式
- mysql存储引擎InnoDB插入数据的过程详解
- HDU 1789 Doing Homework again
- [leetcode 234]Implement Queue using Stacks
- 大数据.......
- oracle表连接——处理连接过程中另外一张表没有相关数据不显示问题
- SDUT 2482 二叉排序树
- 数据分析与数据挖掘类的职位必备技能
- 网络信息安全攻防实验室之基础关
- python正则表达式 re (二)compile