您的位置:首页 > 健康 > 养生 > 网站建设与策划_装修公司需要什么资质_杭州旺道企业服务有限公司_网站权重如何查询

网站建设与策划_装修公司需要什么资质_杭州旺道企业服务有限公司_网站权重如何查询

2025/2/26 1:36:35 来源:https://blog.csdn.net/weixin_45228198/article/details/144167882  浏览:    关键词:网站建设与策划_装修公司需要什么资质_杭州旺道企业服务有限公司_网站权重如何查询
网站建设与策划_装修公司需要什么资质_杭州旺道企业服务有限公司_网站权重如何查询

题目

在一款虚拟游戏中生活,必须进行投资以增强在虚拟游戏中的资产,避免被淘汰,现在有一家Bank,提供理财产品M个,风险及投资回报不同,你有N(元)进行投资,能接受的总风险值为X。你要在可接受范围内选择最优的投资方式获取最大回报。
备注:

  • 每项投资风险值相加为总风险值;
  • 最多只能投资两个理财产品;
  • 最小单位为整数;
  • 投资额 * 回报率 = 投资回报;

输入描述:
第一行:产品数【1,20】,总投资额(整数,【1,100001】),可接受的总风险(整数,【1,200】)
第二行:产品投资回报率序列(整数,【1,100】)
第三行:产品风险值序列(整数,【1,100】)
第四行:最大投资额序列(整数,【1,1000】)
输出描述:
最优方案时,每个产品的投资额序列

示例:
输入:
5 100 10
10 20 30 40 50
3 4 5 6 10
20 30 20 40 30
输出:
0 30 0 40 0

 

解题代码

因为只有投资一种产品、投资两种产品 两种情况,暴力求解即可;


params = [int(x) for x in input().strip().split()]
m = params[0]  # 产品数
n = params[1]  # 钱数
x = params[2]  # 能接受的最大风险# 回报率
back_rate = [int(x) for x in input().strip().split()]
# 风险
risks = [int(x) for x in input().strip().split()]
# max_invest
max_invest = [int(x) for x in input().strip().split()]# 每个产品的最大回报值
max_earns = [max_invest[i] * back_rate[i] for i in range(m)]
max_value = 0# 暴力求解
# 选1个产品时的最大回报
target = 0
i = 0
while i < m:# 风险满足 且 投资的钱满足if risks[i] <= x and max_invest[i] <= n:if max_earns[i] > max_value:max_value = max_earns[i]target = i  # 投资的产品索引i += 1# 选两个产品的最大回报
k = 0
a = 0
b = 0
flag = False  # 标志选两个产品时是否比一个产品时获取回报大
while k < m - 1:for j in range(k + 1, m):if risks[k] + risks[j] <= x and max_invest[k] + max_invest[j] <= n:if max_earns[k] + max_earns[j] > max_value:max_value = max_earns[k] + max_earns[j]a = kb = jflag = Truek += 1output_str = ""
if flag:for j in range(m):if j == a:output_str += str(max_invest[j]) + " "elif j == b:output_str += str(max_invest[j]) + " "else:output_str += str(0) + " "
else:for j in range(m):if j == target:output_str += str(max_invest[j]) + " "else:output_str += str(0) + " "print(output_str[:-1]) 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com