编程题
货币兑换 ## 来源 East Central North America 2001, Practice (ZOJ1058) ## 题目描述 当Issac在某个国家旅游的时候,例如法国,他要把美元兑换成法郎。例如,当用美元兑换法郎的汇率为4.81724时,10美元能兑换48.1724法郎。当然,只能得到小数点后两位那么多的法郎,所以小数点后两位要四舍五入(.005以上要入为.01)。所有货币金额都要四舍五入。 有时候Issac的旅程跨越多个国家,于是他要把货币兑换来兑换去。当他回家的时候,他又要换回美元。这使他想到,他在这些兑换过程中可能损失了或者赚到了美元。现在就要你算他到底是赚到了还是损失了。永远要从美元开始,以美元结束。 ## 输入描述 输入文件有多个测试数据!第一行为N,表示测试数据的个数。然后是一空行。接下来就是N个测试数据。每两个测试数据之间有一空行。每个测试数据的前5行是5个国家之间的汇率,标号为1到5。第i行表示第i个国家与5个国家的汇率。当然,自己兑换自己汇率就是1。第一个国家就是美国。接下来有若干行,每一行表示Issac的一次旅程,每行的格式为: n c1 c2 … cn m 当1≤n≤10和c1,…,cn是从2到5的整数时,他们表示Issac的行程。那么他的旅程就是1 -> c1 -> c2 -> … -> cn -> 1。实数m表示一开始他带的美元。 当n = 0时表示该测试数据结束,这一行没有多余数字。 ## 输出描述 对应到N个测试数据,有N个输出块。每个测试数据中的每次旅程对应一行输出,表示当他回到家的时候他拥有的美元金额,精确到小数点后两位。 每两个测试数据对应的输出块之间有一个空行。 ## 样例输入 ```txt 1 1 1.57556 1.10521 0.691426 7.25005 0.634602 1 0.701196 0.43856 4.59847 0.904750 1.42647 1 0.625627 6.55957 1.44616 2.28059 1.59840 1 10.4843 0.137931 0.217555 0.152449 0.0953772 1 3 2 4 5 20.00 6 2 3 4 2 4 3 120.03 0 ``` ## 样例输出 ```txt 19.98 120.01 ```
查看答案
赣ICP备20007335号-2