湘潭大学2022软件工程程序设计实践平时练习二C/C++

第1关:基金大师

  • 任务要求

题目描述

小明热爱基金,现在给你某支基金的每天的价格,请你帮他算算买卖1次或0次所得最大利润是多少(0次即没有发生交易)

输入输出:

第一个整数m(0<m<100)表示天数 第二组输入个m个整数,每个整数为每天的价格,每个的整数的范围为0到100000

输入: 6 7 1 5 3 6 4 输出: 5

本题来源,《算法导论》。本题考察动态规划-对过去信息充分利用的思想。变量minn代表历史最低值。cache表示当前基金值。

第2关:奶茶店2

300

  • 任务要求

题目描述

XTU奶茶店又开张了,现给定不同种类奶茶的储存量、总售价和需求量,现在请你计算该奶茶店所能获得的最大收益。

输入格式

每个输出包含一个测试样例,先给出一个N(0<N<=1000)表示奶茶的种类数,再给出一个D(0<D<=10000)表示市场最大需求量。随后两行分别是奶茶的库存量M(0<M<=10000)和每种奶茶的总售价P(0<P<=10000)。

输出格式

输出该奶茶店所能获得的最大收益,保留两位小数

输入样例

3 20 18 15 10 75 72 45

输出样例

94.50

本题考察贪心-利润。优先贩卖单价高的奶茶以便获得更多利润。

第3关:汇率大师

300

  • 任务要求

描述

小明热衷于炒汇率,假设现在给你A币、B币、C币….等各个币种的兑换关系以及汇率,给你A币本金,请你帮小明算出兑换成最后一个币种的价值的最大值(以A币的价值表示)和最佳兑换路线。

注意:当存在不同路径的最大价值相同时,取路径短的,不存在价值和路径长度相同的样例。

输入说明:

先输入本金N(0<N<10000), 再输入兑换关系数量M(0<M<100)和币种数量H(0<H<26),接下来输入M行,每行的前两项是数字表示的币种,后面一项是汇率。

为简化题目,这里的汇率,可以理解为倍率,统一用正小数表示,例如本金100A币的时候,0 1 1.5 就可以理解为A币可以兑换价值150A币的B币.(保留小数点2位)

样例:

1.

输入: 100 1 2 0 1 1.5 输出: 150.00 A->B 说明: 这里是本金100,一个关系和两个币种

2.

输入: 100 9 6 0 1 2 0 2 1 0 3 6 1 2 1 1 4 1 2 4 2 3 2 5 3 4 8 4 5 1

输出: 6000.00 A->D->C->E->F

本题考察图论-图的遍历。数据量较小,dfs爆搜。注意保存路径长度和路径。

来源:SQ_ZYX

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月26日
下一篇 2022年10月26日

相关推荐