#include<iostream> #include<vector> #include<algorithm> // 定义结构体xy,表示苹果的属性 // x: 苹果的高度 // y: 摘取苹果需要的力量/花费 struct xy { int x, y; }; // 比较函数,用于排序 // 按照苹果的花费y从小到大排序 // 这样排序后,花费小的苹果会排在前面 int cmpxy(const xy &a, const xy &b) { return a.y < b.y; } using namespace std; int main() { // 输入数据 int n, s, a, b; // n:苹果总数, s:拥有的总力量, a:身高, b:凳子高度 cin >> n >> s >> a >> b; // 计算能够到的最大高度:身高 + 凳子高度 a += b; // 创建向量v,用于存储能够到的苹果 vector<xy> v; // 输入所有苹果的信息,并筛选能够到的苹果 for(int i = 0; i < n; i++) { xy p; // 临时变量存储一个苹果的信息 cin >> p.x >> p.y; // 输入苹果的高度和花费 // 如果苹果的高度不超过能够到的最大高度,则将其加入向量v if (p.x <= a) { v.push_back(p); } } // 对能够到的苹果按照花费从小到大排序(贪心策略) // 这样我们可以优先摘取花费小的苹果,从而摘到更多的苹果 sort(v.begin(), v.end(), cmpxy); int sum = 0; // 记录摘到的苹果数量 // 遍历排序后的苹果向量 for (int x = 0; x < v.size(); x++) { // 如果当前苹果的花费不超过剩余的力量 if (v[x].y <= s) { s -= v[x].y; // 花费力量摘取这个苹果 sum++; // 摘到的苹果数量加1 } // 注意:这里没有break,因为即使当前苹果无法摘取,后续可能有更便宜的苹果 // 但由于我们已经排序了,所以实际上后续苹果的花费不会更小 // 不过题目保证力量s非负,且输入合理,所以这里逻辑正确 } // 输出最多能摘到的苹果数量 cout << sum << endl; return 0; }P1478 陶陶摘苹果(升级版)题解
张小明
前端开发工程师
C++ 友元(friend)到底是什么?
🧑💻 C 友元(friend)到底是什么?好基友才能进卧室! 大家好!今天我们来聊一个 C 中既实用又有点“特别”的概念 —— 友元(friend)。 如果你刚学完封装、访问控制&…
基于FPGA的数字示波器设计和硬件调试,将正弦波形通过HDMI接口在屏幕上动态显示
目录 1.课题概述 2.系统测试效果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于FPGA的数字示波器,通过DDS-IP核生成标准正弦波形,再将波形数据转换为HDMI显示格式,最终在显示器上呈现波形形态。该系统既具备数字示波…
柯萨奇病毒(Coxsackievirus,CV)的分子结构与重组蛋白技术原理解析
柯萨奇病毒(Coxsackievirus,CV)是肠道病毒属(Enterovirus)中研究最为深入的一类RNA病毒,在病毒复制机制、蛋白结构功能及宿主细胞信号调控等基础研究中具有重要代表性。围绕CV编码的结构蛋白与非结构蛋白&a…
按需购买Token服务:降低企业AI使用门槛
按需购买Token服务:降低企业AI使用门槛 在企业智能化转型的浪潮中,一个现实问题始终横亘在前:如何让AI能力真正“用得起、管得住、信得过”?许多团队曾满怀期待地接入大模型API,却在几周后被突如其来的高额账单惊醒——…
Altium Designer生成Gerber用于工厂生产的细节解析
Altium Designer生成Gerber文件:从设计到生产的实战全解析 你有没有遇到过这样的情况? 电路板设计得完美无缺,DRC零报错,原理图也反复确认了三遍——结果工厂回传一句话:“ 没有底层走线 ”或者“ 丝印反了&#…
如何评估anything-llm的知识库回答准确性?
如何评估 Anything-LLM 的知识库回答准确性? 在企业越来越依赖AI处理内部文档、客服问答和知识管理的今天,一个看似“智能”的回答可能隐藏着致命的风险——它听起来头头是道,实则毫无根据。这种现象被称为大语言模型(LLM…