news 2026/7/15 7:25:20

GESP认证C++编程真题解析 | P11377 [GESP202412 七级] 武器购买

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | P11377 [GESP202412 七级] 武器购买

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

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

适合人群:

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

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


【题目来源】

洛谷:P11377 [GESP202412 七级] 武器购买 - 洛谷

【题目描述】

商店里有n nn个武器,第i ii个武器的强度为p i p_ipi,花费为c i c_ici

小杨想要购买一些武器,满足这些武器的总强度不小于P PP,总花费不超过Q QQ,小杨想知道是否存在满足条件的购买方案,如果有,最少花费又是多少。

【输入】

第一行包含一个正整数 ,代表测试数据组数。

对于每组测试数据,第一行包含三个正整数n , P , Q n,P,Qn,P,Q,含义如题面所示。

之后n nn行,每行包含两个正整数p i , c i p_i,c_ipi,ci,代表武器的强度和花费。

【输出】

对于每组测试数据,如果存在满足条件的购买方案,输出最少花费,否则输出− 1 -11

【输入样例】

3 3 2 3 1 2 1 2 2 3 3 3 4 1 2 1 2 2 3 3 1000 1000 1 2 1 2 2 3

【输出样例】

3 -1 -1

【算法标签】

《洛谷 P11377 武器购买》 #动态规划DP# #背包DP# #GESP# #2024#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=105;// 最大物品数量constintMAX_COST=5000005;// 最大成本,需要根据题目要求调整intt;// 测试用例数量intn,P,Q;// n: 物品数量, P: 需要的最小收益, Q: 最大可用成本intp[N],c[N];// p[i]: 第i件物品的收益, c[i]: 第i件物品的成本intdp[MAX_COST];// dp[j]: 花费成本不超过j时能获得的最大收益intmain(){cin>>t;// 读取测试用例数量// 处理每个测试用例while(t--){// 输入当前测试用例的数据cin>>n>>P>>Q;// 初始化dp数组为0memset(dp,0,sizeof(dp));// 输入每件物品的收益和成本for(inti=1;i<=n;i++){cin>>p[i]>>c[i];}// 01背包动态规划// 外层循环:遍历每件物品for(inti=1;i<=n;i++){// 内层循环:反向遍历成本(从大到小)// 确保每件物品最多被选一次for(intj=Q;j>=c[i];j--){// 状态转移方程:// 1. 不选第i件物品:dp[j]保持不变// 2. 选第i件物品:dp[j-c[i]] + p[i]dp[j]=max(dp[j],dp[j-c[i]]+p[i]);}}// 寻找最小成本使得收益至少达到Pboolflag=0;// 标记是否找到符合条件的成本for(inti=0;i<=Q;i++){if(dp[i]>=P)// 如果花费成本i能获得至少P的收益{cout<<i<<endl;// 输出最小成本flag=1;// 标记已找到break;// 找到第一个就退出,因为i是从小到大遍历的}}// 如果没有找到符合条件的成本if(!flag){cout<<-1<<endl;// 输出-1表示无解}}return0;}

【运行结果】

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

5大核心功能解析:iVMS-4200智能监控系统完全指南 [特殊字符]

5大核心功能解析&#xff1a;iVMS-4200智能监控系统完全指南 &#x1f3af; 【免费下载链接】iVMS-4200用户手册分享 欢迎使用iVMS-4200系统&#xff01;本手册详细介绍了iVMS-4200监控管理系统的核心功能与操作指南&#xff0c;旨在帮助用户高效地管理和利用该系统。iVMS-4200…

作者头像 李华
网站建设 2026/7/7 5:59:35

告别单调终端:ConEmu 配置全攻略,打造你的专属命令行空间

告别单调终端&#xff1a;ConEmu 配置全攻略&#xff0c;打造你的专属命令行空间 【免费下载链接】ConEmu Customizable Windows terminal with tabs, splits, quake-style, hotkeys and more 项目地址: https://gitcode.com/gh_mirrors/co/ConEmu 还在为 Windows 自带的…

作者头像 李华
网站建设 2026/7/7 6:02:50

Pixie终极指南:5分钟掌握Kubernetes分布式跟踪与性能监控

Pixie终极指南&#xff1a;5分钟掌握Kubernetes分布式跟踪与性能监控 【免费下载链接】pixie Pixie是一个开源的分布式跟踪和分析工具&#xff0c;用于监控和诊断Kubernetes应用程序的性能。 - 功能&#xff1a;分布式跟踪&#xff1b;性能监控&#xff1b;诊断&#xff1b;Kub…

作者头像 李华
网站建设 2026/7/6 6:14:36

极客专属:DeepSeek Janus-Pro文生图模型本地部署完全指南

极客专属&#xff1a;DeepSeek Janus-Pro文生图模型本地部署完全指南 【免费下载链接】Janus-Pro-1B Janus-Pro-1B&#xff1a;打造下一代统一多模态模型&#xff0c;突破传统框架局限&#xff0c;实现视觉编码解耦&#xff0c;提升理解与生成能力。基于DeepSeek-LLM&#xff0…

作者头像 李华
网站建设 2026/7/2 4:52:49

我亲测7款免费AI论文工具:开题到大纲,3天搞定初稿不踩坑

凌晨2点的实验室&#xff1a;被毕业论文逼哭的第17天 “第4版开题报告又被打回来了&#xff0c;导师说‘研究框架逻辑混乱&#xff0c;文献综述没有创新点’——这句话我已经看了不下十遍。” 去年11月&#xff0c;我在实验室的电脑前熬到凌晨2点&#xff0c;屏幕上是密密麻麻…

作者头像 李华
网站建设 2026/7/14 21:59:38

CycleGAN无监督域转换技术:架构创新与工程实践深度解析

CycleGAN无监督域转换技术&#xff1a;架构创新与工程实践深度解析 【免费下载链接】deep-learning-v2-pytorch Projects and exercises for the latest Deep Learning ND program https://www.udacity.com/course/deep-learning-nanodegree--nd101 项目地址: https://gitcod…

作者头像 李华