2021-05-29 钓鱼(贪心)

本文介绍了如何使用贪心算法解决钓鱼问题,即在有限时间内规划钓鱼顺序,以最大化总钓鱼数量。文章通过举例说明,阐述了算法思路:先减去走路时间,然后选择当前可钓到鱼最多的湖进行钓鱼。
摘要由CSDN通过智能技术生成

问题 E: 钓鱼

提交: 50 | 解决: 14 | 时间限制: 1.00s | 内存限制: 128M

题目描述

小明准备去钓鱼,他准备在一个有 nn 个湖的地方钓 hh 小时,小明只能按顺序从第 1 个湖 开始,依次在各个湖钓鱼,但是在每个湖的钓鱼时间是由小明自己决定的。从第 ii 个湖走到第 i+1i+1 个湖的时间是 titi 个 55 分钟。例如 t3=4,t3=4, 表明从第 33 个湖走到第 44 个湖需要 2020 分钟。

对于每个湖 ii ,在初始的 55 分钟,小明可以钓到 fifi 条鱼,之后每过 55 分钟,可钓到的鱼会 减少 didi, 直到减少为 00 。如果当前没有在湖中钓鱼,那么可以钓到的鱼的数量是不变的。假设 当前只有小明在钓鱼,请问如果规划钓鱼的安排,使得能钓上的鱼最多? 小明在每个湖的钓鱼时间必须是 55 分钟的倍数。

输入

输入数据包括多组数据。

每组数据的第一行包含一个数 nn (2≤n≤252≤n≤25), 表示湖的个数。

第二行包含一个数 hh (1≤h≤161≤h≤16), 表示小明钓鱼的小时数。

第三行包含 nn 个数,给出 fifi (fi≥0(fi≥0)。

第四行包含 nn 个数,给出 didi (di≥0(di≥0)。

接下来一行包含 n−1n−1 个数,给出 ti(0≤ti≤192ti(0≤ti≤192)。

输入以 n=0n=0 结束。

输出

对于每一组测试数据,第一行输出在每个湖中钓鱼的时间,用逗号隔开:第二行输出期 望钓到的最多的鱼的数量。 如果有多种

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值