刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

加油问题

题目说明

编程实现:

小猫打算在“五一”假期骑摩托车自驾游,摩托车每次加满油后可以行驶100公里,它在自家附近的加油站加满油后就上路了,上路之后还要顺序经过“1号”-“6号”的6个加油站,每个加油站到上一个加油站的距离分别是50、80、39、60、40、32公里。因为“五一”期间各加油站都有很多车要加油,所以小猫希望尽量减少加油的次数。请帮助小猫找出在哪些加油站停靠加油(每次都加满油)才能使得沿途加油次数最少。

注意:如果摩托车剩下的油不够行驶到下一个加油站时,就必须要在这个加油路加油了!

具体要求:

1). 创建两个列表,列表“距离”用于存放各个加油站距离的数值,将50、80、39、60、40、32依次添加到列表中;列表“停靠”有6个元素,用于标记在哪个加油站停靠加油。每次点击绿旗时,都要将“停靠”列表中的6个元素初始化为“0”,然后让小猫说“开始出发”2秒。如图1所示:

图1

2). 小猫需要指出应该在哪个加油站停靠加油。例如,小猫需要在第1个加油站加油(因为到第2个加油站还有80公里,而摩托车的油只够再骑50公里了),就让小猫说“在1号加油站停靠加油”2秒,同时将“停靠”列表中的第1个元素值修改为1,然后继续说出下一个需要加油的加油站(见图2),当到达目的地时,让小猫说“到达目的地”2秒,然后程序结束。

图2

赛后判卷时,在裁判修改了列表“距离”中的数值以后,重新点击绿旗后,能够以新的数值重新计算,并让小猫说出合理的停靠加油方案,使得加油的次数最少。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

1. 初始化“停靠”列表为6个0,表示小猫尚未在任何加油站停靠加油。2. 遍历“距离”列表,计算小猫剩余油量和到下一个加油站的距离,判断是否需要在当前加油站停靠加油。3. 如果剩余油量不足以到达下一个加油站,则在当前加油站停靠加油,将“停靠”列表对应位置设为1,并输出“在x号加油站停靠加油”的信息。4. 如果剩余油量足够到达下一个加油站,则继续计算下一个加油站是否需要停靠加油。5. 重复上述步骤,直到小猫到达目的地。

解析:

【喵呜刷题小喵解析】:

这个问题实际上是一个经典的动态规划问题,可以通过遍历加油站列表,计算小猫在每个加油站是否需要停靠加油来解决。由于小猫的摩托车每次加满油后可以行驶100公里,因此我们需要计算小猫在每个加油站剩余油量和到下一个加油站的距离,判断是否需要停靠加油。如果剩余油量不足以到达下一个加油站,则需要在当前加油站停靠加油,否则继续前行。通过这种方法,我们可以找到小猫在哪些加油站停靠加油,从而使得沿途加油次数最少。由于问题的动态性,当裁判修改了列表“距离”中的数值以后,重新计算即可。
创作类型:
原创

本文链接:加油问题 题目说明 编程实现: 小猫打算在“五一”假期骑摩托车自驾游,摩托车每次加满油后可以行驶10

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share