问题:套汇。

思路:Floyd

代码:

 #include <cstdio>
#include <cstdlib>
#include <ctime> #define N 10 int currencyArbitrage (double rates[][N]); int main (int argc, char **argv)
{
double R[N][N];
srand(time(NULL));
for (int i = ; i < N; i++)
{
for (int j = ; j < N; j++)
{
R[i][j] = ((rand() % N) + ) * 1.0 / N;
}
}
R[][] = ;
R[][] = 0.9;
R[][] = 1.2; printf("%d\n",currencyArbitrage(R));
return ;
} int currencyArbitrage (double rates[][N])
{
for (int k = ; k < N; k++)
for (int i = ; i < N; i++)
for (int j = ; j < N; j++)
{
double tmp = rates[i][k] * rates[k][j];
rates[i][j] = (tmp > rates[i][j]) ? tmp : rates[i][j];
if ((i != j) && (rates[i][j] * rates[j][i] > ))
{
return ;
}
}
return ;
}

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

套汇问题 Floyd的更多相关文章

  1. HDU1217 (Floyd简单变形)

    Arbitrage Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...

  2. HDOJ 1217 Arbitrage(拟最短路,floyd算法)

    Arbitrage Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  3. uva 104 Arbitrage (DP + floyd)

    uva 104 Arbitrage Description Download as PDF Background The use of computers in the finance industr ...

  4. floyd算法学习笔记

    算法思路 路径矩阵 通过一个图的权值矩阵求出它的每两点间的最短路径矩阵.从图的带权邻接矩阵A=[a(i,j)] n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1):又 ...

  5. 最短路(Floyd)

    关于最短的先记下了 Floyd算法: 1.比较精简准确的关于Floyd思想的表达:从任意节点A到任意节点B的最短路径不外乎2种可能,1是直接从A到B,2是从A经过若干个节点X到B.所以,我们假设maz ...

  6. 最短路径之Floyd算法

    Floyd算法又称弗洛伊德算法,也叫做Floyd's algorithm,Roy–Warshall algorithm,Roy–Floyd algorithm, WFI algorithm. Floy ...

  7. UVALive 4431 Fruit Weights --floyd,差分约束?

    题意: 给出一些关系用aX <= bY表示, 最后查询aX 和 bY的关系,是>=,==,<=,还是不能确定,还是出现了矛盾. 解法:对每一个关系其实都可以建一条X->Y的边, ...

  8. 洛谷P1119 灾后重建[Floyd]

    题目背景 B地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响.但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车.换句话说,只有连接着两个重建完成的村庄的公路才能 ...

  9. UVA10048 Audiophobia[Floyd变形]

    UVA - 10048 Audiophobia Consider yourself lucky! Consider yourself lucky to be still breathing and h ...

随机推荐

  1. 使用ioctl“实现”自定义的系统调用

    http://www.educity.cn/Linux/1242138.html 最近做的项目跟Linux内核的关系比较大,我们的项目需要在用户态触发一些内核态的代码运行.众所周知,内核态的代码是不能 ...

  2. poj2194Stacking Cylinders

    链接 可以根据反余弦和反正切算出角a和b的值, 然后向量旋转就可以了,图中的状态旋转rotate((2,0),a+b)  反状态把角度反过来,点取(-2,0)即可. 不知道是不是理解错了,题意写着两圆 ...

  3. mysql 理解 int(11)

    1.这里的int(11) 与int的大小和存储字节,没有一毛钱关系,int的存储字节是4个字节,最大值为 65536*65536 = 40多亿,对于有符号的int,是20多亿.2.那么这里的(11) ...

  4. vi编辑器简单应用(摘抄)

    摘抄于 vi编辑器的使用 (2) (3) 1 vi编辑器的基本使用 1.1 vi的启动 打开: $ vi example.c 只读打开 $ vi –R example.c 1.2 vi的工作模式 1. ...

  5. 使用火狐的restclient发送http接口post及get请求

    1.在firefox安装restclient插件,具体参照http://jingyan.baidu.com/article/1876c8529b07e3890b137623.html: —.发送pos ...

  6. 转载 - LINUX下查看CPU使用率的命令

    几个常用的命令,一些不错的解释 http://blog.csdn.net/wengpingbo/article/details/6302058 1.top 使用权限:所有使用者 使用方式:top [- ...

  7. word双栏排版,最后一页由于分节符造成最后一页是空白页,删除分节符双栏就变成了单栏

    遇到这个问题时,我们把心思都花在了如何“删除”这个空白页. 但是最有效的办法不是“删除”,而是(以word2007为例): Word 2007中文版: 鼠标放在最后一页,点击页面布局①,选择页面布局右 ...

  8. Hacker Technology

    扒一扒「黑客军团」中用到的黑客工具 黑客 (Hacker) - 知乎 nmap - 百科 NMAP - 官网  中文翻译 Havij sqlmap 熊猫烧香 懒人在思考 零基础如何学习 Web 安全? ...

  9. Nemo Documents – 给文件添加标签 以日历的形式将文件呈现出来,很像 Outlook,你可以根据年、月、日来查看不同类型的文档

    Nemo Documents – 给文件添加标签   scavin(Google+) on 2012.03.28. Nemo Documents 是款文件组织管理工具(文档管理器),不是街道大妈胜似大 ...

  10. VC++NMAKE

    目录 第1章 NMAKE    1 1.1 运行NMAKE    1 1.1.1 NMAKE的实质    2 1.2 描述块    3 1.2.1 定义    3 1.2.2 多个描述块    3 1 ...