[Python]K小姐经营着一家蛋糕店,她的蛋糕店有 n 种口味的蛋糕。这 n 种口味的蛋糕在 A 工厂和 B 工厂都有生产。

问题来源:【秋招突围】2024届秋招-京东笔试题-第三套_牛客网

问题描述

K小姐经营着一家蛋糕店,她的蛋糕店有 n种口味的蛋糕。这 n 种口味的蛋糕在 A 工厂和 B 工厂都有生产。

对于每种口味的蛋糕,如果 A 工厂生产的口感值为 AiA_iAi​,价格为 CiC_iCi​;B 工厂生产的口感值为 BiB_iBi​,价格为 DiD_iDi​。K小姐会比较两个工厂生产的同一口味蛋糕,如果 Ai>BiA_i > B_iAi​>Bi​ 且 Ci<DiC_i < D_iCi​<Di​,那么她会选择从 A 工厂进货这种口味的蛋糕;如果 Bi>AiB_i > A_iBi​>Ai​ 且 Di<CiD_i < C_iDi​<Ci​,那么她会选择从 B 工厂进货这种口味的蛋糕;如果两个工厂生产的蛋糕口感值和价格都相同,或者一个工厂口感值更高但价格也更高,那么K小姐就不会选择进货这种口味的蛋糕。

现在给定 n 种口味蛋糕在两个工厂的口感值和价格,请问K小姐最终会选择进货多少种口味的蛋糕?

输入格式

第一行输入一个整数 n,表示蛋糕的口味数量。

第二行输入 n 个整数,分别表示 A1,A2,…,AnA_1, A_2, \dots, A_nA1​,A2​,…,An​,即 A 工厂生产的 n 种口味蛋糕的口感值。

第三行输入 n 个整数,分别表示 B1,B2,…,BnB_1, B_2, \dots, B_nB1​,B2​,…,Bn​,即 B 工厂生产的 n 种口味蛋糕的口感值。

第四行输入 n 个整数,分别表示 C1,C2,…,CnC_1, C_2, \dots, C_nC1​,C2​,…,Cn​,即 A 工厂生产的 n 种口味蛋糕的价格。

第五行输入 n 个整数,分别表示 D1,D2,…,DnD_1, D_2, \dots, D_nD1​,D2​,…,Dn​,即 B 工厂生产的 n 种口味蛋糕的价格。

输出格式

输出一个整数,表示K小姐最终选择进货的蛋糕口味数量。

代码详细分析

输入部分

  • n = int(input()):这行代码首先从用户那里获取一个整数输入,并将其赋值给变量 n。不过,在后续的代码中,并没有直接使用到这个 n,可能是代码编写过程中存在部分未完成或者多余的输入获取操作。
  • lis = []:初始化一个空列表 lis,用于后续存储输入的数据。
  • 接下来的循环:
for i in range(0, 4):lis.append(list(map(int, list(input().split()))))

这个循环会执行 4 次,每次从用户那里获取一行以空格分隔的整数输入,先通过 split() 方法将输入的字符串按空格分割成字符串列表,然后通过 map(int,...) 将每个字符串转换为整数,最后再通过 list() 将映射后的可迭代对象转换为列表并添加到 lis 中。这样,lis 最终会包含 4 个子列表,每个子列表存储了一行输入的整数数据。

数据处理与字典创建部分

  • A = dict(zip(lis[0], lis[2])) 和 B = dict(zip(lis[1], lis[3]))
    这里使用了 zip() 函数将 lis 中的特定子列表进行组合,然后通过 dict() 函数将组合后的键值对创建为两个字典 A 和 B。具体来说,A 的键来自 lis[0],值来自 lis[2]B 的键来自 lis[1],值来自 lis[3]

获取字典键列表与计数部分

  • keyA_tast = list(A.keys()); keyB_tast = list(B.keys())
    这两行分别获取字典 A 和 B 的键,并将它们转换为列表形式存储在 keyA_tast 和 keyB_tast 中。
  • 接下来的循环:
count = 0
for i in range(len(keyA_tast)):ATast = keyA_tast[i]; BTast = keyB_tast[i]AValue = A[ATast]; BValue = B[BTast]if ATast > BTast and AValue < BValue or ATast < BTast and AValue > BTast:count += 1

首先初始化一个计数变量 count 为 0。然后通过循环遍历 keyA_tast(由于假设 keyA_tast 和 keyB_tast 长度相同,这里只遍历 keyA_tast 的长度即可同时处理两个字典对应位置的元素)。在每次循环中,获取 A 和 B 字典中对应位置的键(ATast 和 BTast)以及对应的值(AValue 和 BValue)。然后通过条件判断,如果满足 ATast 大于 BTast 且 AValue 小于 BValue,或者 ATast 小于 BTast 且 AValue 大于 BTast 这两种情况之一,就将计数变量 count 加 1。

输出部分

  • print(count):最后输出满足上述条件的元素对的数量。
n = int(input())
lis = []
for i in range(0,4):lis.append(list(map(int,list(input().split()))))
A = dict(zip(lis[0],lis[2]));B = dict(zip(lis[1],lis[3]))
keyA_tast = list(A.keys());keyB_tast = list(B.keys())
count = 0
for i in range(len(keyA_tast)):ATast = keyA_tast[i];BTast = keyB_tast[i]AValue = A[ATast];BValue = B[BTast]if ATast > BTast and AValue < BValue or ATast < BTast and AValue > BTast:count += 1
print(count)

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

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

相关文章

HTML 基础标签——元数据标签 <meta>

文章目录 1. `<meta>` 标签概述2. 属性详解2.1 `charset` 属性2.2 `name` 属性2.3 `content` 属性2.4 `http-equiv` 属性3. 其他常见属性小结在 HTML 文档中,元数据标签 <meta> 是一种重要的标签,用于提供关于文档的信息,这些信息不直接显示在网页内容中,但对于…

InnoDB: corruption in the InnoDB tablespace

磁盘空间满和断电都可能导致mysql无法启动&#xff0c;报错如下&#xff1a; InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html InnoDB: about forcing recovery. 20241031 10:54:…

Java网络通信

前言 1. 基本知识 通俗一点就是CS就是要下载应用来访问的&#xff0c;BS是在浏览器上面访问的&#xff0c;不用下载 1.1 IP IP地址就是你电脑的主机号&#xff0c;一台设备都有唯一的IP&#xff0c;端口就是程序的唯一标识 这上面就是我们的ip地址了&#xff0c;有IPv4和…

iptables面试题

1、详述iptales工作流程以及规则过滤顺序&#xff1f; iptables过滤的规则顺序是由上至下&#xff0c;若出现相同的匹配规则则遵循由上至下的顺序 2、iptables的几个表以及每个表对应链的作用&#xff1f; Iptables有四表五链 Filter表 : Filter表是iptables中使用的默认表…

【论文笔记】Attention Prompting on Image for Large Vision-Language Models

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: Attention Prompting on I…

【spring】Cookie和Session的设置与获取(@CookieValue()和@SessionAttribute())

&#x1f490;个人主页&#xff1a;初晴~ &#x1f4da;相关专栏&#xff1a;程序猿的春天 获取Cookie 使用 Servlet 获取Cookie&#xff1a; Spring MVC 是基于 Servlet API 构建的原始 Web 框架&#xff0c;也是在 Servlet 的基础上实现的 RestController RequestMapping…

Android启动流程_Init阶段

前言 本文将会介绍 Android 启动流程&#xff0c;将基于 Android 10 代码逻辑介绍原生启动过程。 bootloader 上电 -> 加载 recovery 镜像或者 boot 镜像 -> linux kernel 启动 -> 加载 init 进程 -> 加载 zygote 进程 -> systemserver 进程 -> 系统启动 …

MySQL数据库之存储过程的创建与应用

存储过程 procedure 一.存储过程 作用&#xff1a;将经常使用的功能写成存储过程&#xff0c;方便后续重复使用。 二.创建存储过程 三.调用存储过程 call在计算机中是调用的意思 案例1&#xff1a;查看MySQL用户数 如上图所示&#xff0c;这是查看MySQL数据库中的user个数…

7.使用Redis进行秒杀优化

目录 1. 优化思路 总结之前实现的秒杀过程 下单流程 2. 使用Redis完成秒杀资格判断和库存 0. Redis中数据类型的选用 1.将优惠券信息保存到Redis中 2.基于Lua脚本&#xff0c;判断秒杀库存、一人一单&#xff0c;决定用户是否抢购成功 3. 开启新协程&#xff0c;处理数…

终于把DETR搞懂了!Detection Transformer架构详解及使用方法说明

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

Calling short variants with GATK4

计算生物学实验5: Calling short variants with GATK4 1. 实验目的 本实验目的是利用 GATK4 工具准确高效地检测出基因组中的短变异。通过该工具对样本基因组进行分析&#xff0c;旨在发现单核苷酸变异&#xff08;SNV&#xff09;和小的插入缺失&#xff08;Indel&#xff0…

S32K324 DTCM/DTCM Backdoor使用及测试

文章目录 前言S32K324的Memory mapDTCM的原理DTCM的使用DTCM/DTCM backdoor测试总结 前言 S32K324的Ram在选型手册上给的是512K&#xff0c;但实际上sram只有320k,项目中对ram的需求更大&#xff0c;所以需要拓展一下ram的使用。本文分析DTCM的使用方案及测试结果 S32K324的M…

Pytorch猴痘病识别

Pytorch猴痘病识别 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 电脑系统&#xff1a;Windows11 显卡型号&#xff1a;NVIDIA Quadro P620 语言环境&#xff1a;python 3.9.7 编译器&#xff1a;jupyte…

网络安全渗透实际案例

目录 案例场景案例目标和工具 案例操作步骤Step 1&#xff1a;信息收集与识别**结果分析** Step 2&#xff1a;漏洞扫描**预期结果** Step 3&#xff1a;漏洞利用与权限验证Step 4&#xff1a;后渗透测试Step 5&#xff1a;报告生成和修复建议**修复建议** 案例总结 下面是一个…

快消零售行业的培训创新:构建在线培训知识库

在快速消费品&#xff08;FMCG&#xff09;行业中&#xff0c;员工的培训和发展对于保持竞争力至关重要。随着电子商务的兴起和消费者行为的变化&#xff0c;快消零售行业需要不断适应新的市场趋势。在线培训知识库作为一种有效的培训工具&#xff0c;可以帮助企业提升员工技能…

软考(中级-软件设计师)计算机网络篇(1101)

第五章&#xff1a;计算机网络基础 **考纲要求**根据开始大纲中相应的考核要求&#xff0c;要求考生掌握一下方面的内容&#xff1a; 1、计算机网络基础知识 网络体系结构传输介质、传输技术、传输方法、传输控制常用网络设备和各类通信设备的特点Client-Server结构、Browser…

【毫米波雷达(四)】车载毫米波雷达下线EOL标定流程

汽车控制器下线EOL标定流程 一、概述二、标定的目的三、雷达标定的要求1、车辆的要求2、标定环境要求四、以软件的角度分析前雷达的EOL标定 一、概述 由于雷达的安装误差会影响雷达对目标位置的检测&#xff0c;导致报警及功能性能下降。因此雷达进行预安装后必须进行角度标定…

免费插件集-illustrator插件-Ai插件-闭合开放路径

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件&#xff0c;加强illustrator使用人员工作效率&#xff0c;实现图形编辑中闭合开放路径。首先从下载网址下载这款插件https://download.csdn.net/download/m0_67316550/8789…

LDA 线性分类

线性判别分析是一种经典的线性分类方法&#xff0c;将高维空间投射到低维空间&#xff0c;如下图。 LDA 的目标就是简单累内距离变小&#xff0c;把类间的距离变大&#xff0c;这样就可以把相似的数据聚集在一起。 u1 和 u2 类间距离&#xff0c;S1、S2 为类内数据点之间的距…

面试必会50题

基础篇 01 和 equals 的区别是什么 : 可以比较基本数据类型也可以比较引用数据类型 , 比较基本数据类型是比较值是否相等, 比较引用数据类型是比较引用地址是否相等 (基本数 据类型 比较的是值&#xff0c;引用数据类型 比较的是内存地址) equals() : 一般用于对象的比较…