当前位置: 首页 > news >正文

十四届蓝桥杯STEMA考试Python真题试卷第二套第四题

来源:十四届蓝桥杯STEMA考试Python真题试卷第二套编程第四题:糖果罐调整
该题解通过贪心策略在每一步都选择对当前状态最有利的操作,从而达到最少调整次数的目标。

题目描述

现有 N 罐糖果,且已知每罐糖果的初始数量。现给出两个数值 L 和 R(L≤R),需要把每罐糖果的数量调整为:L≤任意一罐糖果的数量≤R。调整的方式是每次从其中一罐糖果中拿出 1 块放到其他糖果罐中。

请你计算出最少调整几次才能使每罐糖果的数量都在 L 到 R 范围之间,如果不能将每罐糖果都调整到 L 到 R 范围之间则输出-1。

例如:
N = 2,2 罐糖果的初始数量为 3 和 8,L = 3,R = 6,通过调整使得:3≤任意一罐糖果的数量≤6,调整方式如下:
第一次从初始数量为 8 的罐中拿 1 块放到初始数量为 3 的罐中,调整后为(4,7);
第二次从数量 7 的罐中拿 1 块放到数量为 4 的罐中,调整后为(5,6);
故最少调整 2 次。

输入描述:
第一行输入一个正整数 N(N<30),表示糖果的罐9数
第二行输入 N 个正整数(1≤正整数≤100),表示每罐糖果的初始数量,每个正整数之间以一个空格隔开
第三行输入两个正整数 L,R(1≤L≤R≤100),表示每罐糖果的数量所要调整的范围,两个正整数之间以一个空格隔开

输出描述:
输出一个整数,表示最少调整几次才可以使 N 罐糖果数量都在 L 和 R 范围之间,如果不能将 N 罐糖果调整到L 到 R 范围之间则输出-1

样例输入:

2
3 8
3 6

样例输出:

2

参考答案

def min_adjustments_to_balance_candies(n, candies, L, R):total_candies = sum(candies)# 计算糖果总量的最小和最大需求min_needed = n * Lmax_needed = n * R# 如果总糖果数不在 [min_needed, max_needed] 范围内,无法调整if total_candies < min_needed or total_candies > max_needed:return -1# 计算多余糖果数和不足糖果数excess = 0deficit = 0for candy in candies:if 

相关文章:

十四届蓝桥杯STEMA考试Python真题试卷第二套第四题

来源:十四届蓝桥杯STEMA考试Python真题试卷第二套编程第四题:糖果罐调整 该题解通过贪心策略在每一步都选择对当前状态最有利的操作,从而达到最少调整次数的目标。 题目描述 现有 N 罐糖果,且已知每罐糖果的初始数量。现给出两个数值 L 和 R(L≤R),需要把每罐糖果的数…...

单元测试怎么做

单元测试是软件开发中非常重要的一部分&#xff0c;能够确保代码的正确性、可靠性和可维护性。对于 Vue 项目来说&#xff0c;单元测试主要关注的是测试组件及其相关功能是否正常。下面是如何在 Vue 项目中进行单元测试的详细步骤&#xff0c;包括测试框架的选择、测试工具的配…...

移动应用开发 实验二:标准身高计算器

文章目录 准备工作一&#xff0c;创建Android Studio项目二&#xff0c;创建活动模块三&#xff0c;设计用户界面&#xff08;一&#xff09;设置页面布局&#xff08;二&#xff09;添加标题文本控件&#xff08;三&#xff09;设计体重输入框&#xff08;四&#xff09;设计性…...

金华迪加现场大屏互动系统 mobile.do.php 任意文件上传漏洞复现

0x01 产品描述&#xff1a; ‌ 金华迪加现场大屏互动系统‌是由金华迪加网络科技有限公司开发的一款专注于增强活动现场互动性的系统。该系统设计用于提供高质量的现场互动体验&#xff0c;支持各种大型活动&#xff0c;如企业年会、产品发布会、展览展示等。其主要功能包…...

使用 pd.ExcelWriter 创建多工作表 Excel 文件的详细教程

with pd.ExcelWriter(...) as writer 可以将多个内容写入一个 Excel 文件中。具体地说&#xff0c;它创建了一个Excel 文件写入器&#xff0c;使得我们可以在一个文件中创建多个工作表&#xff08;Sheet&#xff09;。 with pd.ExcelWriter("模型指标和损失值.xlsx")…...

驱动-----dht11温湿度传感器

单总线&#xff1a;只用一根线。 复位信号&#xff1a;设置为输出模式&#xff0c;低电平20ms&#xff0c;然后再拉高30us。然后设置为输入模式&#xff0c;dht11会先拉低80us&#xff0c;然后拉高80us表示对接成功 数据0&#xff1a;开始先拉低50us&#xff0c;然后拉高26~28u…...

Docker 基础命令简介

目录 Docker 基础命令 1. Docker 版本信息 2. 获取 Docker 帮助 3. 列出所有运行中的容器 4. 运行一个新的容器 5. 查看容器日志 6. 停止容器 7. 启动已停止的容器 8. 删除容器 9. 列出所有镜像 10. 拉取镜像 11. 构建镜像 12. 删除镜像 13. 执行命令 14. 查看容…...

嵌入式开发之静态库和共享库

静态库 静态库的特点: 默认执行库链接的时候,检索的是Linux的/lib、/usr/lib目录下,如果指定gcc -c .... -L 指定路径 -l指定库文件;c语言分为预编译、编译、汇编、链接四个步骤。链接的时候是把依赖库文件函数的代码拷贝到程序里面,即便是删除库文件。拷贝后的程序依旧…...

关于npm源的切换及相关操作

要查看当前配置的 npm 源&#xff08;registry&#xff09;&#xff0c;可以使用以下命令&#xff1a; 查看 npm 源 npm config get registry这个命令会返回目前被设置的 npm registry URL&#xff0c;通常情况下是 https://registry.npmjs.org/。 列出所有 npm 配置项 如果…...

vue前端sku实现

this.value.skuStockList [];let skuList this.value.skuStockList;//只有一个属性时if (this.selectProductAttr.length 1) {let attr this.selectProductAttr[0];for (let i 0; i < attr.values.length; i) {skuList.push({spData: JSON.stringify([{key:attr.name,v…...

使用Vue3和Vue2进行开发的区别

使用Vue3和Vue2进行开发的区别 笔者虽然老早就是用vue3进行开发了&#xff0c;但是上次有人问道使用vue3进行开发跟使用vue2进行开发的区别有哪些这个问题的时候&#xff0c;回答的还是有些琐碎&#xff0c;干脆今天专门整理一下&#xff0c;做个记录。 一、再也不用set了 众所…...

爬虫入门urllib 和 request(二)

文章目录 1、urllib介绍2、urllib的基本方法介绍2.1 urllib.Request2.2 response.read() 3、urllib请求百度首页的完整例子4、小结 1、urllib介绍 除了requests模块可以发送请求之外, urllib模块也可以实现请求的发送,只是操作方法略有不同! urllib在python中分为urllib和url…...

【大数据学习 | HBASE】hbase的整体架构

hbase的region存储原理图 首先我们看到hbase的组成分为两个大的部分&#xff0c;分别是hmaster和hregionserver&#xff0c;主节点用于协调数据&#xff0c;regionserver用于真正的去管理表&#xff0c;其中regionserver存在多个&#xff0c;他们共同协调管理全有的表&#xff…...

群控系统服务端开发模式-应用开发-个人资料

群控系统服务端开发模式后端基础框架现在就差个人资料、及权限验证。下面开发个人资料。 一、获取个人信息 1、添加路由 在根目录下route文件夹下面app.php文件中添加如下代码&#xff1a; Route::post(member/personal_data,permission.Member/personalData);// 获取个人信息…...

openssl生成加密,公钥实现非对称加密

私钥用于加密&#xff0c;公钥用于解密 私钥用于颁发token&#xff0c;公钥用于验证token&#xff0c;公钥不能颁发token 私钥和公钥是一对&#xff0c;不能单独使用&#xff0c;利用私钥生成公钥&#xff0c;利用公钥进行解密 使用openssl来生成一对私钥和公钥&#xff1a;ope…...

[CKS] K8S Admission Set Up

最近准备花一周的时间准备CKS考试&#xff0c;在准备考试中发现有一个题目关于Admission。 Whats Admission Kubernetes Admission是Kubernetes集群中一种机制&#xff0c;用于控制和修改集群中的资源对象。它允许您在Kubernetes资源被创建、更新或删除之前&#xff0c;对资源…...

前端学习Day13 CSS盒子的定位(固定定位篇“附练习”)

一、固定定位 固定定位 &#xff08;position:fixed&#xff09;其实是绝对定位的子类别&#xff0c;一个设置了 position:fixed 的元素是相对于视窗固定的&#xff0c;就算页面文档发生了滚动&#xff0c;它也会一直待在相同的地方。 ⚠️&#xff1a;固定定位会脱离文档流。…...

Tomcat 启动卡住,日志显示 At least one JAR was scanned for TLDs yet contained no TLDs.

现象 Tomcat 启动后&#xff0c;控制台输出卡在了&#xff1a; At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JA…...

计算机网络:网络层 —— 移动 IP 技术

文章目录 IPv6IPv6 的诞生背景主要优势IPv6引进的主要变化 IPv6数据报的基本首部IPv6数据报首部与IPv4数据报首部的对比 IPv6数据报的拓展首部IPv6地址IPv6地址空间大小IPv6地址的表示方法 IPv6地址的分类从IPv4向IPv6过渡使用双协议栈使用隧道技术 网际控制报文协议 ICMPv6ICM…...

useCrudSchemas

摘要&#xff1a; useCrudSchemas 不是一个标准的JavaScript或数据库操作库函数&#xff0c;也不是一个广泛认知的术语。它可能是某个特定项目或应用程序中定义的一个自定义函数或方法&#xff0c;用于简化CRUD&#xff08;创建、读取、更新、删除&#xff09;操作。 在Web开发…...

泛微OA E9提醒功能实战:手把手教你用HTML美化定时邮件,告别枯燥系统通知

泛微OA E9邮件提醒设计指南&#xff1a;打造高转化率的HTML通知模板 每周五下午3点&#xff0c;市场部的李经理都会收到一封来自OA系统的周报提醒邮件。与往常不同的是&#xff0c;这次邮件的设计让人眼前一亮——精致的品牌配色、清晰的行动按钮、适配手机的版式布局。原本被…...

不止于画图:用IPC-7351标准和Mentor LP工具高效生成标准PCB焊盘(Cadence实战)

从标准到实践&#xff1a;基于IPC-7351的PCB焊盘设计全流程解析 在高速数字电路和精密模拟电路设计中&#xff0c;焊盘作为元器件与PCB之间的物理连接点&#xff0c;其设计质量直接影响产品可靠性。一个常见的误区是仅关注软件操作技巧&#xff0c;而忽视行业标准对设计质量的…...

模型安全实践:实时手机检测-通用输入图像异常检测(模糊/过曝/裁剪)

模型安全实践&#xff1a;实时手机检测-通用输入图像异常检测&#xff08;模糊/过曝/裁剪&#xff09; 1. 项目简介与核心价值 在日常的手机检测应用中&#xff0c;我们经常会遇到各种图像质量问题&#xff1a;图片模糊看不清手机细节、光线过曝导致手机轮廓丢失、或者图片被…...

如何快速诊断dynamic-datasource JVM线程问题:JStack实战指南

如何快速诊断dynamic-datasource JVM线程问题&#xff1a;JStack实战指南 【免费下载链接】dynamic-datasource dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务 项目地址: https://gitcode.com/gh_mirrors/dy/dynamic-datasource …...

别再只盯着Loss曲线了!TensorBoard的SCALARS面板还有这些隐藏玩法(附GAN训练实战)

解锁TensorBoard SCALARS面板的隐藏战力&#xff1a;从GAN训练曲线中洞察模型灵魂 当你盯着GAN训练中那对纠缠不清的生成器和判别器Loss曲线时&#xff0c;是否感觉像在解读一部悬疑小说&#xff1f;TensorBoard的SCALARS面板远比大多数开发者想象的强大——它不仅是数据的展示…...

【进阶指南】VSCode + Clang-Format:从零定制你的专属代码风格(130+配置项实战解析)

1. 为什么需要定制代码风格&#xff1f; 当你第一次接触代码格式化工具时&#xff0c;可能会觉得默认配置已经足够好用。但当你参与过几个团队项目后&#xff0c;就会发现统一的代码风格有多重要。我曾经接手过一个遗留项目&#xff0c;里面混杂着五种不同的缩进风格——有用制…...

ChatGLM-6B角色扮演功能开发:基于Prompt的智能对话系统

ChatGLM-6B角色扮演功能开发&#xff1a;基于Prompt的智能对话系统 1. 引言 想象一下&#xff0c;你正在开发一个智能客服系统&#xff0c;需要让AI能够扮演不同角色的专业人士来回答用户问题。或者你正在创建一个教育应用&#xff0c;希望AI能够化身历史人物、科学导师或文学…...

FastAdmin定时任务实战:从数据库备份到邮件提醒的5个真实场景配置

FastAdmin定时任务实战&#xff1a;从数据库备份到邮件提醒的5个真实场景配置 在FastAdmin的实际开发中&#xff0c;定时任务就像一位不知疲倦的助手&#xff0c;能够自动完成各种重复性工作。但很多开发者掌握了基础配置后&#xff0c;却不知道如何将其应用到真实业务场景中。…...

OpenClaw安全防护全攻略:Qwen3-32B-Chat操作权限精细控制

OpenClaw安全防护全攻略&#xff1a;Qwen3-32B-Chat操作权限精细控制 1. 为什么需要安全防护&#xff1f; 当我第一次把OpenClaw接入本地部署的Qwen3-32B-Chat模型时&#xff0c;那种兴奋感至今记忆犹新——我的电脑突然有了一个24小时待命的AI助手。但很快&#xff0c;一个细…...

保姆级教程:在Ubuntu上复现‘easy溯源’靶场,手把手教你分析反弹Shell和内网穿透痕迹

在Ubuntu上复现‘easy溯源’靶场&#xff1a;从环境搭建到痕迹分析实战指南 当你第一次接触应急响应时&#xff0c;是否曾被各种专业术语和复杂场景搞得晕头转向&#xff1f;本文将带你从零开始&#xff0c;在Ubuntu系统上完整复现一个名为easy溯源的靶场环境。这不是简单的解题…...