问题:套汇。

思路:Floyd

代码:

 1 #include <cstdio>
 2 #include <cstdlib>
 3 #include <ctime>
 4
 5 #define N 10
 6
 7 int currencyArbitrage (double rates[][N]);
 8
 9 int main (int argc, char **argv)
10 {
11     double R[N][N];
12     srand(time(NULL));
13     for (int i = 0; i < N; i++)
14     {
15         for (int j = 0; j < N; j++)
16         {
17             R[i][j] = ((rand() % N) + 1) * 1.0 / N;
18         }
19     }
20     R[1][2] = 1;
21     R[2][6] = 0.9;
22     R[6][1] = 1.2;
23
24     printf("%d\n",currencyArbitrage(R));
25     return 0;
26 }
27
28 int currencyArbitrage (double rates[][N])
29 {
30     for (int k = 0; k < N; k++)
31         for (int i = 0; i < N; i++)
32             for (int j = 0; j < N; j++)
33             {
34                 double tmp = rates[i][k] * rates[k][j];
35                 rates[i][j] = (tmp > rates[i][j]) ? tmp : rates[i][j];
36                 if ((i != j) && (rates[i][j] * rates[j][i] > 1))
37                 {
38                     return 1;
39                 }
40             }
41     return 0;
42 }

时间复杂度:O(N^3)

套汇问题 Floyd相关推荐

  1. 【动态规划】套汇问题(Floyd算法)

    套汇是指利用货币汇兑率的差异将一个单位的某种货币转换为大于一个单位的同种货币.例如,假定1 美元可以买0.7 英镑,1 英镑可以买9.5 法郎,且1 法郎可以买到0.16美元.通过货币兑换,一个商人可 ...

  2. 货币套汇(图路径)-- 数据结构 (深搜+Floyd算法)

    深搜+Floyd算法 深搜 Floyd算法 题目描述 套汇是指利用货币汇兑率的差异将一个单位的某种货币转换为大于一个单位的同种货币. 例如,假定1 美元可以买0.7 英镑,1 英镑可以买9.5法郎,1 ...

  3. POJ 2240题(Floyd)

    //使用Floyd的变形实现 //这就是个套汇的问题,可以用Floyd求最大环,然后判断是不是大于1. #include <cstdio> #include <string> ...

  4. 问题 E: 货币套汇

    问题 E: 货币套汇 题目描述 套汇是指利用货币汇兑率的差异将一个单位的某种货币转换为大于一个单位的同种货币.例如,假定1 美元可以买0.7 英镑,1 英镑可以买9.5 法郎,1法郎可以买到0.16美 ...

  5. 动态规划之套汇问题(思考分析、解决、算法模板)

    一.问题描述 套汇是指利用货币汇兑率的差异将一个单位的某种货币转换为大于一个单位的同种货币.例如,假定1 美元可以买0.7 英镑,1 英镑可以买9.5 法郎,且1 法郎可以买到0.16美元.通过货币兑 ...

  6. 问题 D: 货币套汇(图路径)-- Guard

    题目描述 套汇是指利用货币汇兑率的差异将一个单位的某种货币转换为大于一个单位的同种货币.例如,假定1 美元可以买0.7 英镑,1 英镑可以买9.5 法郎,1法郎可以买到0.16美元.通过货币兑换,一个 ...

  7. BZOJ1491: [NOI2007]社交网络(Floyd 最短路计数)

    Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 2343  Solved: 1266 [Submit][Status][Discuss] Descrip ...

  8. Good Bye 2014 B. New Year Permutation(floyd )

    题目链接 题意:给n个数,要求这n个数字小的尽量放到前面,求一个最小的. 给一个矩阵s[i][j]==1,表示位置 i 的数字可以和 位置 j 的数字交换. 分析: 刚开始用的是3个循环,每次都找一个 ...

  9. hdu 1599 find the mincost route(找无向图最小环)(floyd求最小环)

    ps(我到今天才知道Floyd的核心思想是动态规划==) hdu 1599 find the mincost route(找无向图最小环) 注意!这里写成   #define data 0x3f3f3 ...

最新文章

  1. (转)Objective-C中的instancetype和id区别
  2. IE haslayout的理解与bug修复
  3. Huffuman树(java)
  4. Android OnLowMemory和OnTrimMemory
  5. Numpy and Theano broadcasting
  6. Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
  7. 电脑主机前面的耳机插孔没声音怎么办?旧时光 oldtimeblog
  8. 水系图一般在哪里找得到_雨水排水系统施工及设备要点详解!
  9. 气相色谱仪排除问题S级详情讲解【Chro】
  10. 表单_内置Filed
  11. Codeforces 272C Dima and Staircase 思维 or 线段树
  12. Machine Translation and Datasets - 机器翻译与数据集(RNN循环神经网络)
  13. 笔记本禁用键盘的方法(已试过win10/win11均可生效)
  14. win10老是弹出计算机管理器,win10系统Ie11老是弹出“管理加载项”提示框取消的处理办法...
  15. 视觉设计需要学什么?
  16. 工作之余如何有效学习提升
  17. 自由空气间隙,爬电距离计算~~最便宜的ESD防护方法
  18. php排版工具下载,论文自动排版工具下载
  19. MATLAB——求系统的零状态响应
  20. Java获取URL对应的资源

热门文章

  1. Thinkphp5+ phpqrcode 在线批量生成二维码图片并保存在本地
  2. 基于matlab实现MSK的调制与解调
  3. 关于静态文本框透明度的问题
  4. IDEA 搜索常用方法
  5. 如何将爱奇艺视频qsv格式转换为FLV格式
  6. 安装在电脑上的网络测试软件,怎么测试电脑网速,教你网速测试的几个方法(图文)...
  7. 开餐馆(信息学奥赛一本通-T1296)
  8. 2019最新pc微信hook教程
  9. 来自一位一年半Java开发程序员的忧郁。
  10. XM5728_IDK_V3 基于AM5728 iperf千兆网络速率测试指南