【每日一题】(D0824)武松打虎 double 数

本文通过两个编程题目——'武松打虎'和'double数',探讨策略优化和数字特性。在武松打虎问题中,我们需要找到武松最多能获得多少赏金并保持生存。在double数问题中,我们需要计算在一定范围内符合特定条件的double数的数量。题目提供了示例输入和输出,以及相关的限制条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目一:武松打虎

题目描述:

  武松的血量为 Hp,攻击力为 Att,n 只老虎的血量为 h[0],h[1],…,h[n-1],攻击力为 a[0],a[1],…,a[n-1]。每个回合武松选择一只老虎进行攻击,使其生命力下降 Att 点,若老虎生命值小于等于 0 则死亡,否则老虎会进行还击,使武松降低老虎攻击力点生命值。

  第 i 只老虎身上背负 m[i] 的赏金,若武松将其打死则可以领取赏金。同时武松可以随时选择不打了,不要领赏金。

  问武松最多能活着(Hp>0)得到多少赏金。

示例 1 输入:

1, 1, [1,1,2,1], [1, 1, 1, 1], [1, 2, 4, 8]

示例 1 输出:

11

说明:

对于第 0,1,3 只老虎,武松可以直接打死,自己不会掉血,而对于第 2 只老虎,武松会被老虎反击致死。因此能够获得的最大的悬赏金为 11 = 1 + 2 + 8。

示例 2 输入:

6, 3, [4, 5, 6], [5, 4, 3], [1, 2, 1]

示例 2 输出:

2

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值