GESP认证C++编程真题解析 | B3863 [GESP202309 一级] 买文具
2026/7/24 11:50:49 网站建设 项目流程

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

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

适合人群:

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

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


【题目来源】

洛谷:[B3863 GESP202309 一级] 买文具 - 洛谷

【题目描述】

开学了,小明来到文具店选购文具。签字笔2 22元一支,他需要X XX支;记事本5 55元一本,他需要Y YY本;直尺3 33元一把,他需要Z ZZ把。小明手里有Q QQ元钱。请你通过编程帮小明算算,他手里的钱是否够买他需要的文具。

【输入】

第一行包含一个正整数,是小明购买签字笔的数量。约定1 ≤ X ≤ 10 1 \le X \le 101X10

第二行包含一个正整数,是小明购买记事本的数量。约定1 ≤ Y ≤ 10 1 \le Y \le 101Y10

第三行包含一个正整数,是小明购买直尺的数量。约定1 ≤ Z ≤ 10 1 \le Z \le 101Z10

第四行包含一个正整数Q QQ,是小明手里的钱数(单位:元)。

【输出】

输出2 22行。如果小明手里的钱够买他需要的文具,则第一行输出Yes,第二行输出小明会剩下的钱数(单位:元);否则,第一行输出No,第二行输出小明缺少的钱数(单位:元)。

【输入样例】

1 1 1 20

【输出样例】

Yes 10

【算法标签】

《洛谷 B3863 买文具》 #分支结构# #GESP# #2023#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;intx,y,z;// 三种物品的数量intq;// 预算金额intmain(){// 输入三种物品的数量和预算cin>>x>>y>>z>>q;// 计算总花费intt=x*2+y*5+z*3;// 判断预算是否足够if(t<=q){// 预算足够cout<<"Yes"<<endl;// 输出"Yes"表示可以购买cout<<q-t<<endl;// 输出剩余金额}else{// 预算不足cout<<"No"<<endl;// 输出"No"表示不能购买cout<<t-q<<endl;// 输出还差多少金额}return0;}

【运行结果】

1 1 1 20 Yes 10

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询