news 2026/1/19 6:49:52

GESP认证C++编程真题解析 | B3930 [GESP202312 五级] 烹饪问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | B3930 [GESP202312 五级] 烹饪问题

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:[B3930 GESP202312 五级] 烹饪问题 - 洛谷

【题目描述】

N NN种食材,编号从1 11N NN,其中第i ii种食材的美味度为a i a_iai

不同食材之间的组合可能产生奇妙的化学反应。具体来说,如果两种食材的美味度分别为x xxy yy,那么它们的契合度为 $x\ \text{and}\ y $。

其中,and \text{and}and运算为按位与运算,需要先将两个运算数转换为二进制,然后在高位补足 ,再逐位进行与运算。例如,12 12126 66的二进制表示分别为1100 110011000110 01100110,将它们逐位进行与运算,得到0100 01000100,转换为十进制得到 4,因此12 and 6 = 4 12\ \text{and}\ 6 = 412and6=4在 C++ 或 Python 中,可以直接使用&运算符表示与运算。

现在,请你找到契合度最高的两种食材,并输出它们的契合度。

【输入】

第一行一个整数N NN,表示食材的种数。

接下来一行N NN个用空格隔开的整数,依次为a 1 , ⋯ , a N a_1,\cdots,a_Na1,,aN,表示各种食材的美味度。

【输出】

输出一行一个整数,表示最高的契合度。

【输入样例】

3 1 2 3

【输出样例】

2

【算法标签】

《洛谷 B3930 烹饪问题》 #贪心# #位运算# #GESP# #2023#

【代码详解】

// 40分版本#include<bits/stdc++.h>usingnamespacestd;constintN=1000005;// 最大数组长度intn;// 数组元素个数intmaxn=-1e9;// 最大与运算结果,初始化为极小值inta[N];// 存储输入数组intmain(){// 输入数组大小cin>>n;// 输入数组元素for(inti=1;i<=n;i++){cin>>a[i];}// 暴力枚举所有不相同的元素对for(inti=1;i<=n;i++){for(intj=1;j<=n;j++){// 跳过相同的元素对if(i==j){continue;}// 计算按位与并更新最大值maxn=max(maxn,a[i]&a[j]);}}// 输出最大的按位与结果cout<<maxn<<endl;return0;}
#include<bits/stdc++.h>usingnamespacestd;constintN=1000005;// 最大数组长度intn;// 数组元素个数intmaxn=-1e9;// 最大与运算结果,初始化为极小值inta[N];// 存储输入数组intmain(){// 输入数组大小cin>>n;// 输入数组元素for(inti=1;i<=n;i++){cin>>a[i];}// 将数组从大到小排序sort(a+1,a+n+1,greater<int>());// 优化后的双重循环for(inti=1;i<=n;i++){// 剪枝:如果当前元素已经小于等于当前最大值,跳过if(a[i]<=maxn){continue;}// 与后面的元素进行按位与运算for(intj=i+1;j<=n;j++){maxn=max(maxn,a[i]&a[j]);}}// 输出最大的按位与结果cout<<maxn<<endl;return0;}

【运行结果】

3 1 2 3 2
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/16 12:30:20

项目全过程管理系统工具盘点:9款覆盖立项到验收的全流程管理方案

在企业数字化转型的深水区&#xff0c;项目全过程管理&#xff08;Project Lifecycle Management&#xff09;已成为企业提升运营效率的核心抓手。传统的碎片化工具链往往导致数据孤岛&#xff0c;使得决策者难以获取实时的项目全貌。 本文旨在为企业管理系统选型者提供一份详尽…

作者头像 李华
网站建设 2026/1/16 15:03:42

SFINAE 是技術債:C++20 Concepts 如何讓你的模板程式碼減少 80%

SFINAE 是技術債&#xff1a;C20 Concepts 如何讓你的模板程式碼減少 80%引言&#xff1a;C模板的演進與挑戰C模板自誕生以來一直是該語言最強大的特性之一&#xff0c;它提供了編譯時多態和泛型編程的能力。然而&#xff0c;在長達數十年的發展過程中&#xff0c;開發者們一直…

作者头像 李华
网站建设 2026/1/16 12:43:34

Open-AutoGLM + 边缘计算:打造低延迟农业感知系统的3种架构模式

第一章&#xff1a;Open-AutoGLM 农业物联网适配在现代农业系统中&#xff0c;物联网设备与智能模型的深度融合成为提升生产效率的关键路径。Open-AutoGLM 作为一款支持自动化推理与轻量化部署的语言模型框架&#xff0c;具备良好的边缘计算适配能力&#xff0c;能够有效集成至…

作者头像 李华
网站建设 2026/1/14 9:15:33

Open-AutoGLM自主训练闭环实战(稀缺技术文档首次公开)

第一章&#xff1a;Open-AutoGLM自主学习进化机制Open-AutoGLM 是一种基于大语言模型的自主学习与持续进化框架&#xff0c;旨在实现模型在无显式人工干预下的知识更新、任务优化与能力扩展。其核心机制依托于动态反馈循环、自我评估模块与外部环境交互&#xff0c;使系统能够在…

作者头像 李华
网站建设 2026/1/16 15:26:35

Open-AutoGLM模型推理延迟降低90%?揭秘其背后的轻量化架构设计

第一章&#xff1a;Open-AutoGLM 自动驾驶辅助交互Open-AutoGLM 是一个基于大语言模型的开源框架&#xff0c;专为自动驾驶场景中的多模态人机交互设计。它融合自然语言理解、环境感知与车辆控制指令生成&#xff0c;实现更智能、更安全的驾驶辅助体验。该系统能够解析驾驶员语…

作者头像 李华
网站建设 2026/1/14 20:11:41

springboot车辆管理系统(11552)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告&#xff09;远程调试控屏包运行 三、技术介绍 Java…

作者头像 李华