news 2026/4/23 12:41:03

2025年12月GESP(C++一级): 小杨的爱心快递

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2025年12月GESP(C++一级): 小杨的爱心快递

2025年12月GESP(C++一级): 小杨的爱心快递

题目描述

小杨是“爱心社区”的小志愿者,每周他都会帮助邻居们寄送捐赠给山区小学的文具和书籍。快递公司为了支持公益行动,制定了特殊的运费规则,鼓励大家合理包装:

假设快递的体积为V VV,重量为G GG

  • 按体积计算:运费按体积计算,公式是0.5 × V 0.5 \times V0.5×V元。
  • 按重量计算:为了鼓励减轻包裹重量,规则是:当重量小于 300 克,即G < 300 G < 300G<300时,运费为M MM元;当重量达到或超过 300 克,即G ≥ 300 G \geq 300G300时,运费为N NN元。

快递公司的叔叔说:“我们应该选择最公平合理的计费方式。”

所以,最终的运费会取按体积计算和按重量计算这两种方式中价格较低的那一个,这样对寄件人最公道。

输入格式

四行,每行一个一位小数的浮点数,分别代表,快递的体积V VV,快递的重量G GG,第一档重量运费M MM,第二档重量运费N NN

输出格式

一行一个一位小数,代表实际快递运费。

输入输出样例 1
输入 1
100.4 300.2 60.6 70.5
输出 1
50.2
输入输出样例 2
输入 2
99.8 200.9 60.2 70.1
输出 2
49.9
说明/提示
样例解释
  • 对于样例 1:快递体积V VV100.4 100.4100.4,重量G GG300.2 300.2300.2,第一档重量运费M MM60.6 60.660.6,第二档重量运费N NN70.5 70.570.5

    • 若按体积收费,费用为0.5 × 100.4 = 50.2 0.5 \times 100.4 = 50.20.5×100.4=50.2
    • 若按重量收费,由于重量G = 300.2 G = 300.2G=300.2超过300 300300,费用为70.5 70.570.5
      输出价格较低的50.2 50.250.2
  • 对于样例 2:快递体积V VV99.8 99.899.8,重量G GG200.9 200.9200.9,第一档重量运费M MM60.2 60.260.2,第二档重量运费N NN70.1 70.170.1

    • 若按体积收费,费用为0.5 × 99.8 = 49.9 0.5 \times 99.8 = 49.90.5×99.8=49.9
    • 若按重量收费,由于重量G = 200.9 G = 200.9G=200.9小于300 300300,费用为60.2 60.260.2
      输出价格较低的49.9 49.949.9
数据范围

对于所有测试点,保证给出的浮点数均为正数,且不超过1000 10001000

思路分析

这道题考察的是条件判断和数值比较的基本能力。题目给出了两种计算运费的方式:

  1. 按体积计算:固定公式0.5 × V
  2. 按重量计算:根据重量是否达到300克分为两档

实际运费需要取这两种计算方式中的较小值

解题步骤:

  1. 读取输入的四个浮点数:体积V、重量G、第一档运费M、第二档运费N
  2. 计算体积运费p1 = 0.5 * V
  3. 根据重量判断计算重量运费:
    • 如果G < 300,则p2 = M
    • 如果G >= 300,则p2 = N
  4. p1p2中的较小值作为最终运费
  5. 输出结果,保留一位小数

代码实现

#include<bits/stdc++.h>usingnamespacestd;// 定义变量:体积v、重量g、第一档运费m、第二档运费ndoublev,g,m,n;intmain(){// 输入数据:体积、重量、第一档运费、第二档运费cin>>v>>g>>m>>n;doublep1,p2;// p1:体积运费, p2:重量运费// 计算体积运费:0.5 * 体积p1=0.5*v;// 根据重量计算重量运费if(g<300)// 重量小于300克,使用第一档运费p2=m;else// 重量大于等于300克,使用第二档运费p2=n;// 取两种运费中的较小值作为最终运费doubleans=min(p1,p2);// 输出结果,保留一位小数cout<<fixed<<setprecision(1)<<ans;return0;// 程序正常结束}

功能分析

1.输入处理
  • 程序依次读取四个浮点数:体积V、重量G、第一档运费M、第二档运费N
  • 所有输入都是一位小数的浮点数
2.运费计算逻辑
  • 体积运费:固定为0.5 × V,线性关系
  • 重量运费:分段函数
    • G < 300时,运费为M
    • G >= 300时,运费为N
  • 最终运费:取两种计算方式的较小值min(p1, p2)
3.边界情况处理
  • 重量恰好等于300克时,属于G >= 300的情况,使用第二档运费N
  • 如果两种计算方式运费相同,任意选择一种都可以(因为取最小值会得到相同结果)
4.输出格式
  • 输出结果保留一位小数,符合题目要求
  • 使用fixed << setprecision(1)确保输出格式正确
5.测试用例验证
  • 样例1:V=100.4, G=300.2, M=60.6, N=70.5
    • p1 = 0.5×100.4 = 50.2
    • p2 = N = 70.5(因为G≥300)
    • min(50.2, 70.5) = 50.2
  • 样例2:V=99.8, G=200.9, M=60.2, N=70.1
    • p1 = 0.5×99.8 = 49.9
    • p2 = M = 60.2(因为G<300)
    • min(49.9, 60.2) = 49.9

各种学习资料,助力大家一站式学习和提升!!!

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return0;}
  • 一、CSP信奥赛C++通关学习视频课:
    • C++语法基础
    • C++语法进阶
    • C++算法
    • C++数据结构
    • CSP信奥赛数学
    • CSP信奥赛STL
  • 二、CSP信奥赛C++竞赛拿奖视频课:
    • 信奥赛csp-j初赛高频考点解析
    • CSP信奥赛C++复赛集训课(12大高频考点专题集训)
  • 三、考级、竞赛刷题题单及题解:
    • GESP C++考级真题题解
    • CSP信奥赛C++初赛及复赛高频考点真题解析
    • CSP信奥赛C++一等奖通关刷题题单及题解

详细内容:

1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):

https://edu.csdn.net/lecturer/7901 点击跳转


2、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

3、csp信奥赛冲刺一等奖有效刷题题解:

CSP信奥赛C++初赛及复赛高频考点真题解析(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

  • 2025 csp-j 复赛真题及答案解析(最新更新)
  • 2025 csp-x(山东) 复赛真题及答案解析(最新更新)
  • 2025 csp-x(河南) 复赛真题及答案解析(最新更新)
  • 2025 csp-x(辽宁) 复赛真题及答案解析(最新更新)
  • 2025 csp-x(江西) 复赛真题及答案解析(最新更新)
  • 2025 csp-x(广西) 复赛真题及答案解析(最新更新)
  • 2020 ~ 2024 csp 复赛真题题单及题解
  • 2019 ~ 2022 csp-j 初赛高频考点真题分类解析
  • 2021 ~ 2024 csp-s 初赛高频考点解析
  • 2023 ~ 2024 csp-x (山东)初赛真题及答案解析
  • 2024 csp-j 初赛真题及答案解析
  • 2025 csp-j 初赛真题及答案解析(最新更新)
  • 2025 csp-s 初赛真题及答案解析(最新更新)
  • 2025 csp-x (山东)初赛真题及答案解析(最新更新)
  • 2025 csp-x (江西)初赛真题及答案解析(最新更新)
  • 2025 csp-x (辽宁)初赛真题及答案解析(最新更新)

CSP信奥赛C++一等奖通关刷题题单及题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转

  • 129 道刷题练习和详细题解,涉及:模拟算法、数学思维、二分算法、 前缀和、差分、深搜、广搜、DP专题、 树和图

4、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转

· 文末祝福 ·

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:10:47

Kazumi:构建自定义番剧采集应用的终极指南

Kazumi&#xff1a;构建自定义番剧采集应用的终极指南 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP&#xff0c;支持流媒体在线观看&#xff0c;支持弹幕。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi 在数字娱乐内容日益丰富的今天&#xff0c;如何…

作者头像 李华
网站建设 2026/4/19 9:11:41

F3D项目与VTK 9.3版本集成挑战及解决方案

F3D项目与VTK 9.3版本集成挑战及解决方案 【免费下载链接】f3d Fast and minimalist 3D viewer. 项目地址: https://gitcode.com/gh_mirrors/f3/f3d 当快速3D查看器遇上现代可视化库 大家好&#xff01;今天我们来聊聊F3D这个轻量级3D查看器在集成VTK 9.3版本时遇到的那…

作者头像 李华
网站建设 2026/4/18 21:21:46

OpenMTP:颠覆传统的Mac与Android文件传输神器

在当今多设备共存的时代&#xff0c;Mac用户与Android设备之间的文件传输一直是个技术痛点。OpenMTP作为一款开源的高级Android文件传输应用&#xff0c;彻底解决了这一难题。它通过创新的技术架构和用户友好的界面设计&#xff0c;让跨平台文件管理变得前所未有的简单高效。这…

作者头像 李华
网站建设 2026/4/22 12:50:55

Jupyter Notebook连接远程GPU服务器|Miniconda-Python3.11实战教学

Jupyter Notebook连接远程GPU服务器&#xff5c;Miniconda-Python3.11实战教学 在深度学习模型动辄需要数小时甚至数天训练的今天&#xff0c;你是否也经历过本地笔记本风扇狂转、显存爆满却只跑了个小数据集的窘境&#xff1f;更别提当同事说“我这代码能跑”而你却报错CUDA o…

作者头像 李华
网站建设 2026/4/17 20:03:32

字幕搜索终极解决方案:Subfinder智能匹配工具深度解析

字幕搜索终极解决方案&#xff1a;Subfinder智能匹配工具深度解析 【免费下载链接】subfinder 字幕查找器 项目地址: https://gitcode.com/gh_mirrors/subfi/subfinder 在影视内容日益丰富的今天&#xff0c;找到完美匹配的字幕往往成为观影体验的关键瓶颈。Subfinder作…

作者头像 李华
网站建设 2026/4/20 2:30:03

终极指南:如何用LGTV Companion实现电脑与LG电视智能联动

想要让LG WebOS电视与电脑建立无缝连接&#xff0c;实现真正的智能联动体验吗&#xff1f;LGTV Companion正是您需要的免费开源工具。这款专为LG WebOS电视设计的软件能够自动同步开关机、响应系统状态变化&#xff0c;还能有效保护OLED屏幕&#xff0c;显著提升家庭娱乐和工作…

作者头像 李华