积木搭建游戏-第13届蓝桥杯省赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第83讲。

积木搭建游戏,本题是2022年4月17日举办的第13届蓝桥杯青少组Python编程省赛真题编程部分第3题,13届一共举办了两次省赛,这是第一次省赛。题目要求编程帮助小青找出最少需要多少块积木可以搭建出高度大于N的高楼。

先来看看题目的要求吧。

一.题目说明

编程实现:

小蓝和小青在玩积木搭建游戏,具体玩法如下:

小蓝报一个数字N,代表高楼的高度,小青则需要使用最少的积木建出高度大于N的高楼。给出小蓝所报出的数字N,及已有积木块每一块的高度,请你帮助小青找出最少需要多少块积木可以搭建出高度大于N的高楼。

例如:N = 12时,已有4个积木块的高度分别为4, 7, 8, 4则最少需要2块积木,可以使搭建的高楼高度大于12,2块积木为7和8。

输入描述:

第一行输入一个正整数N,表示小蓝报出的数字。

第二行输入多个正整数,表示已有积木块每一块的高度,正整数之间以一个英文逗号隔开。(要求所有正整数之和大于N)

输出描述:

输出最少需要使用多少块积木,可以搭建出高度大于N的高楼。

输入样例:

12

4,7,8,4

输出样例:

2

二.思路分析

这是一道简单的算法题,涉及的知识点包括循环、条件、列表和贪心算法等。

要确保积木块的数量最少,那么我们尽量要选择高度最大的积木块,这正是贪心算法的核心思想。

贪心算法,又称贪婪算法,英文名greedy algorithm。

图片

贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,它期望通过局部最优选择得到全局最优的解决方案。

以题目中的样例数据为例,4个积木块的高度分别为4, 7, 8, 4,要搭建的高楼高度为12。

首先我们选择最高的积木块8,同时计算出已搭建高度为8,8 < 12,然后在剩余的积木块中选择最高的积木块7,此时已搭建高度为8 + 7 = 15,由于15 > 12,满足条件,所以只需要两个积木块。

因此,我们可以对所有积木块按照从大到小的顺序排序,然后依次取出每一个积木块,累加其高度,当总高达大于N时,结束循环。

在这个过程中,我们每次选择当前最高的积木块,这样可以确保每次选择的都是当前最优的解决方案。

通过贪心算法,我们可以快速找到最少需要的积木块数,从而搭建一个高度大于N的高楼。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

根据上面的思路分析,我们编写程序如下:

图片

代码不多,强调两点:

1). 在获取输入的数字字符串时,使用了列表推导式的编程技巧,你也可以使用map()函数来实现,写法如下:

height = list(map(int, input().split(',')))

2). sort()函数默认是从小到大排序,通过关键词参数reverse=True可以实现从大到小排序;

至此,整个程序就全部完成了,你可以输入不同的数据来测试效果啦。

四.总结与思考

本题代码在10行左右,涉及到的知识点包括:

  • 循环语句;

  • 条件语句;

  • 列表操作;

  • 贪心算法;

本题代码不多,难度一般,关键有两点,一是理解贪心算法的核心思想及其特点,二是灵活运用sort()函数对列表排序。

尽管贪心算法很简单且高效,但并非所有问题都适合使用贪心算法求解。在某些情况下,贪心算法无法得到最优解,因为它的局部选择不能保证总体的最优性。

因此,对于每个具体问题,都需要具体问题具体分析,评估贪心算法是否适用。

你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要源码的,可以移步至“超平的编程课”gzh。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/27135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openstack删除实例卡死在正在删除中

删除实例 问题描述解决办法 实验环境&#xff1b;服务器&#xff0c;openstackY版 问题描述 openstack在删除实例时一直显示正在删除中 解决办法 进入数据库修改实例状态&#xff0c;修改为错误&#xff0c;然后重新删除 首先查看对应实例id 进入数据库修改 rootcompute:~…

盘点:支持国产化信创的项目管理软件有哪些?

对于个人或者预算充足的团队来说&#xff0c;找到一个靠谱、好用的项目管理软件是一件很有必要的事情&#xff0c;那么目前国内有哪些【国产化信创】的项目管理软件值得选择呢&#xff1f; 下面盘点10款&#xff0c;每一款都独具特色。 1、国产化项目管理软件&#xff0c;可灵活…

工具:安装R语言的R包的各种方法

欢迎大家关注全网生信学习者系列&#xff1a; WX公zhong号&#xff1a;生信学习者Xiao hong书&#xff1a;生信学习者知hu&#xff1a;生信学习者CDSN&#xff1a;生信学习者2 介绍 R语言提供的大量R包为众多研究者提供了足够的工具&#xff0c;但是如何安装R包是很多人在使…

Ubuntu server 24 (Linux) 新增磁盘 lvm 动态扩容磁盘空间

1 新增一块硬盘 #查看 sudo fdisk -l #重新分区&#xff0c;转换成lvm类型 sudo fdisk /dev/sdb 2 查看磁盘 df -h3 lvm 配置 #查看lvm逻辑卷 sudo lvdisplay #创建物理卷 sudo pvcreate /dev/sdb1 #扩展卷组 sudo vgextend ubuntu-vg /dev/sdb1 #扩展逻辑卷 sudo lvexte…

超声波眼镜清洗机有用吗?四大王牌巅峰超声波清洗机推荐!

在市场上&#xff0c;有很多种家用眼镜超声波清洗机可供选择。但是并不是所有超声波眼镜清洗机清洗的效果都是好的&#xff0c;很多不了解超声波清洗机的朋友容易盲目跟风或者在商家无脑吹的大功率清洗的情况下选择哪些所谓好用的产品&#xff0c;最后却导致踩雷&#xff01;所…

孩子小学毕业了

难说再见 时间已到眼前 一张张照片 模糊了我双眼

怎么脚本ai创作?分享三个方法

怎么脚本ai创作&#xff1f;在数字化时代&#xff0c;AI技术正逐渐渗透到我们生活的方方面面&#xff0c;其中AI脚本创作软件的出现&#xff0c;极大地提高了创作效率&#xff0c;降低了创作门槛。今天&#xff0c;就为大家推荐三款备受好评的AI脚本创作软件&#xff0c;其中聪…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第40课-实时订阅后端数据

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第40课-实时订阅后端数据 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引…

Elastic 索引结构-倒排索引

前言 Elastic 在数据库分类中一般被分为全文检索的数据库&#xff0c;那为什么这么区分呢&#xff1f;主要是因为其独特的索引结构 即倒排索引。 倒排索引 倒排索引先将文档中包含的关键字全部提取出来&#xff0c;然后再将关键字与文档的对应关系保存起来&#xff0c;最后再…

OpenStack入门初体验

云计算概述 概念 侠义的云计算是指IT基础设施的交付和使用模式广义的云计算是指服务的交付和使用模式云计算资源 网络资源存储资源计算资源 云计算的服务模型 IaaS&#xff08;基础架构即服务&#xff09; IaaS 提供最底层的 IT 基础设施服务&#xff0c;包括处理能力、存储…

如何把路由器设备的LAN口地址为三大私网地址

要将路由器的LAN口地址配置为三大私有IP地址范围之一&#xff08;10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16&#xff09;&#xff0c;我们需要访问路由器的管理界面并进行相应的设置。 下面是步骤&#xff1a; 连接到路由器&#xff1a; 连接到路由器的管理界面&#xf…

探索服务器硬件:理解基础组件及其重要性

在现代IT基础设施中&#xff0c;服务器扮演着至关重要的角色。无论是托管网站、管理数据、运行应用程序还是提供各种在线服务&#xff0c;服务器硬件的性能和稳定性都是确保这些任务顺利进行的关键。本文将介绍服务器硬件的基本组件及其功能&#xff0c;以帮助读者更好地理解和…

Keepalived LVS群集

一、Keepalived案例分析 企业应用中&#xff0c;单台服务器承担应用存在单点故障的危险 单点故障一旦发生&#xff0c;企业服务将发生中断&#xff0c;造成极大的危害 二、Keepalived工具介绍 专为LVS和HA设计的一款健康检查工具 支持故障自动切换&#xff08;Failover&#…

OceanMind海睿思成功签约南京市交通集团,助力集团数字化转型高效推进!

近日&#xff0c;中新赛克海睿思与南京市政府批准成立的市级国有全资公司——南京市交通建设投资控股&#xff08;集团&#xff09;有限责任公司&#xff08;以下简称“南京市交通集团”&#xff09;达成深度战略合作&#xff0c;为南京市交通集团提供数据中心及监管数据管理平…

2.4G低功耗无线收发SOC芯片-SI24R03

随着物联网产业对集成度的需求越来越高&#xff0c; 也在不断地完善公司产品生态。 “射频MCU”产品组合--无线SOC芯片&#xff08;MCU&#xff09;&#xff0c;简化了系统设计。只需要少量的外围器件&#xff0c;用户即可实现产品的开发&#xff0c;有效减少了PCB板的占用…

什么是校园抄表系统?

1.校园抄表系统的简述 校园抄表系统是当代高校管理中的一个重要组成部分&#xff0c;主要运用于全自动搜集、管理方法与分析校园里的电力能源使用数据&#xff0c;如水电煤等。它通过先进的方式方法&#xff0c;完成了对能源消耗的实时监控系统&#xff0c;提升了电力能源管理…

(源码)一套医学影像PACS系统源码 医院系统源码 提供数据接收、图像处理、测量、保存、管理、远程医疗和系统参数设置等功能

PACS系统还提供了数据接收、图像处理、测量、保存、管理、远程医疗和系统参数设置等功能。 PACS系统提高了医学影像的利用率和诊疗效率&#xff0c;为医生提供了更加准确和及时的诊断依据。它是医院信息化的必备系统之一&#xff0c;已经成为医学影像管理和传输的重要工具。 P…

忆捷硬盘数据恢复方法有哪些?常见的有这四种

在数字化时代&#xff0c;硬盘作为存储大量数据的重要设备&#xff0c;其安全性与可靠性直接关系到我们的工作和生活。然而&#xff0c;无论是由于误操作、病毒感染还是硬件故障&#xff0c;硬盘数据丢失的情况时有发生。对于使用忆捷硬盘的用户来说&#xff0c;如何在数据丢失…

DETR实现目标检测(二)-利用自己训练的模型进行预测

1、图片预测&#xff08;CPU&#xff09; 关于DETR模型训练自己的数据集参考上篇文章&#xff1a; DETR实现目标检测(一)-训练自己的数据集-CSDN博客 训练完成后的模型文件保存位置如下&#xff1a; 准备好要预测的图片&#xff1a; 然后直接调用模型进行预测&#xff0c;并设…

linux部署运维3——centos7.9离线安装部署配置涛思taos2.6时序数据库TDengine以及java项目链接问题处理(二)

上一篇讲了centos7.9如何安装涛思taos2.6时序数据库的操作步骤和方案&#xff0c;本篇主要讲解taos数据库的初始化&#xff0c;相关配置说明&#xff0c;数据库和表的创建问题以及java项目连接问题。 centos7.9如何离线安装taos2.6&#xff0c;请点击下方链接详细查看&#xf…