有关套汇的一个算法题目,请大家帮忙.说说思路也好.
在外汇市场上,将1个单位的某种货币通过多次兑换,获得多于1个单位的同种货币,称为套汇(Arbitrage)。例如,如果1个单位的A货币可以兑换46.4个单位的B货币, 1个单位的B货币可以兑换2.5个单位的C货币,1个单位的C货币可以兑换0.0091个单位的A货币,则1个单位的A货币可以通过这三次兑换获得46.42.50.0091=1.0556个单位的A货币,这就称为套汇(获利5.56%)。现在假设给定了若干种货币及其两两之间的兑换率,请你帮助找到一种套汇方式(或判定该外汇市场上不存在套汇的可能)。
(1) 请对该问题构造一个网络优化模型,并说明建立该模型的理由(即说明该模型为什么是正确的)。
(2) 针对你所建立的网络优化模型,设计一个算法找到一种套汇方式(或判定该外汇市场上不存在套汇的可能)。
(3) 分析你所给出的算法的计算复杂度。