用map建立从货币名称到序号的映射,看做节点,汇率则看做边权,是单向路。
用floyd,只不过这里把加号变成乘号,而且是两点间的最大值。 最后求是否有这么一点,从该点出发,再回到该点,总的值大于1。
注意: 不能使用dijaskra,因为增值的方法不一定是优先选择权值最大的路径,有可能是一开始的汇率小,但之后就大,总的乘积大于1.
所以要用以动态规划为基本思想的floyd来做。
#include #include #include #include #include #include #include