news 2026/4/3 4:18:37

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/3/24 23:19:01

从GitHub拉取代码并在Miniconda-Python3.11中运行测试

从GitHub拉取代码并在Miniconda-Python3.11中运行测试 在人工智能项目开发中&#xff0c;你是否曾遇到过这样的场景&#xff1a;兴冲冲地克隆了一个开源模型仓库&#xff0c;满怀期待地运行 python train.py&#xff0c;结果却因“模块未找到”或“版本不兼容”而失败&#xff…

作者头像 李华
网站建设 2026/3/30 11:39:00

Sketch Measure终极指南:从零掌握设计标注的完整教程

Sketch Measure终极指南&#xff1a;从零掌握设计标注的完整教程 【免费下载链接】sketch-measure Make it a fun to create spec for developers and teammates 项目地址: https://gitcode.com/gh_mirrors/sk/sketch-measure 还在为设计稿标注耗费大量时间&#xff1f;…

作者头像 李华
网站建设 2026/4/2 6:44:47

终极VR开发框架:VRExpansionPlugin完全指南

终极VR开发框架&#xff1a;VRExpansionPlugin完全指南 【免费下载链接】VRExpansionPlugin A UE4 VR framework 项目地址: https://gitcode.com/gh_mirrors/vr/VRExpansionPlugin 在Unreal Engine 4的虚拟现实开发领域&#xff0c;VRExpansionPlugin是一个不可或缺的强…

作者头像 李华
网站建设 2026/4/2 15:18:18

UE4 VR开发终极指南:VRExpansionPlugin完整使用教程

UE4 VR开发终极指南&#xff1a;VRExpansionPlugin完整使用教程 【免费下载链接】VRExpansionPlugin A UE4 VR framework 项目地址: https://gitcode.com/gh_mirrors/vr/VRExpansionPlugin 在当今快速发展的虚拟现实开发领域&#xff0c;Unreal Engine 4的VR开发工具生态…

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

Subfinder字幕神器:3分钟快速解决所有字幕匹配难题

Subfinder字幕神器&#xff1a;3分钟快速解决所有字幕匹配难题 【免费下载链接】subfinder 字幕查找器 项目地址: https://gitcode.com/gh_mirrors/subfi/subfinder 在影视观看体验中&#xff0c;字幕匹配往往成为最让人头疼的环节。Subfinder作为一款智能字幕搜索工具&…

作者头像 李华