#创作计划#GESP题解
2026-09-11 19:42:26
发布于:上海
此为GESP一级2025.11编程题1题解(已加注释)
/*原题:
1.
时间限制:1000ms
内存限制:128MB
小杨是“爱心社区”的小志愿者,每周他都会帮助邻居们寄送捐赠给山区小学的文具和书籍。快递公司为了支持公益行动,制定了特殊的运费规则,鼓励大家合理包装:
假设快递的体积为 V,重量为 G。
按体积计算:运费按体积计算,公式是 0.5×V 元。
按重量计算:为了鼓励减轻包裹重量,规则是:当重量小于 300 克,即 G<300 时,运费为 M 元;当重量达到或超过 300 克,即 G≥300 时,运费为 N 元。
快递公司的叔叔说:“我们应该选择最公平合理的计费方式。”
所以,最终的运费会取按体积计算和按重量计算这两种方式中价格较低的那一个,这样对寄件人最公道。
输入格式
四行,每行一个一位小数的浮点数,分别代表,快递的体积 V,快递的重量 G,第一档重量运费 M,第二档重量运费 N。
输出格式
一行一个一位小数,代表实际快递运费。
样例组
输入#1 输出#1
100.4 50.2
300.2
60.6
70.5
输入#2 输出#2
99.8 49.9
200.9
60.2
70.1
提示说明
样例解释
对于样例 1:快递体积 V 为 100.4,重量 G 为 300.2,第一档重量运费 M 为 60.6,第二档重量运费 N 为 70.5。
若按体积收费,费用为 0.5×100.4=50.2;
若按重量收费,由于重量 G=300.2 超过 300,费用为 70.5。
输出价格较低的 50.2。
对于样例 2:快递体积 V 为 99.8,重量 G 为 200.9,第一档重量运费 M 为 60.2,第二档重量运费 N 为 70.1。
若按体积收费,费用为 0.5×99.8=49.9;
若按重量收费,由于重量 G=200.9 小于 300,费用为 60.2。
输出价格较低的 49.9。
数据范围
对于所有测试点,保证给出的浮点数均为正数,且不超过 1000。
*/
#include<iostream>
#include<cmath>
using namespace std;
int main(){
//输入
double V,G,M,N;
cin>>V>>G>>M>>N;
//按体积计算
double _V;
_V=0.5*V;
//按重量计算
double _G;
if(G<300)_G=M;
if(G>=300)_G=N;
//比出最小者
cout<<min(_V,_G);
return 0;
}
这里空空如也




















有帮助,赞一个