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

简答题

编程实现:

小明和同学们玩跳房子的游戏,现给出一排房子,请计算出小明最少需要跳几次就可以完成游戏,完成游戏时哪只脚落地?(0代表左脚,1代表右脚)

游戏规则1:地上画有n个正方形依次排开代表房子,每个房子里标有数字,数字代表最多可以跳几个房子,数字不能为0(如:数字为2,可以直接向前跳1个房子,也可以直接向前跳2个房子)。

例如:

地上画有5个正方形代表房子,房子里面的数字分别为2,1,4,2,1。

小明在第1个房子时可以选择跳到第2个房子或者第3个房子,为了所跳次数最少选择跳到第3个房子(房子数字为4);房间数字为4,可以选择跳到第4个房子或者第5个房子,为了所跳次数最少选择跳到第5个房子。故至少需要跳两次就可以完成游戏。

游戏规则2:只能单脚落地,左脚起跳右脚落地,右脚起跳左脚落地;第一次起跳为左脚。

例如:

小明一共跳两次,第一次左脚起跳,右脚落地;第二次右脚起跳,左脚落地;完成游戏时左脚落地。

输入描述:

第一行输入n个正整数,正整数之间用英文逗号隔开

输出描述:

输出两个整数,整数之间用英文逗号隔开;第一个整数表示最少跳的次数,第二个整数表示落地的脚(0代表左脚,1代表右脚)


样例输入:

2,1,4,2,1

样例输出:

2,0

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

答案:

根据给定的游戏规则,小明需要按照房子的数字进行跳跃,且每次跳跃后需要选择左脚或右脚落地。根据输入描述,我们需要计算出小明最少需要跳几次才能完成游戏,并确定完成游戏时哪只脚落地。首先,我们可以定义一个数组来存储每个房子里的数字,例如:`[2, 1, 4, 2, 1]`。然后,我们可以使用贪心算法来计算出小明最少需要跳几次才能完成游戏。我们可以从第一个房子开始,每次都选择能够跳到最远房子的那个,直到最后一个房子。在跳跃的过程中,我们记录下小明已经跳过的次数和最后一次落地的脚。最后,我们返回最少跳的次数和最后一次落地的脚即可。

解析:

【喵呜刷题小喵解析】:
这个题目主要考察的是贪心算法的应用。根据游戏规则,小明每次跳跃都需要选择能够跳到最远房子的那个,这样就能够保证小明跳的次数最少。

同时,还需要考虑脚的问题。由于小明只能单脚落地,所以我们可以在跳跃的过程中记录下小明已经跳过的次数和最后一次落地的脚。这样,在完成游戏时,我们就可以知道小明最后一次落地的脚是哪只。

具体的实现过程可以参考以下步骤:

1. 读取输入,将输入的数字存储到一个数组中。
2. 初始化变量,记录小明已经跳过的次数和最后一次落地的脚。
3. 从第一个房子开始,每次都选择能够跳到最远房子的那个,直到最后一个房子。
4. 在跳跃的过程中,记录下小明已经跳过的次数和最后一次落地的脚。
5. 返回最少跳的次数和最后一次落地的脚即可。
创作类型:
原创

本文链接:编程实现: 小明和同学们玩跳房子的游戏,现给出一排房子,请计算出小明最少需要跳几次就可以完成游戏,完

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

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

分享考题
share