题目描述
小明所在的城市的出租车价又涨了。
涨价之前,出租车的起步价为10元,可行驶3到公里。3公里后,每公里加2元,可行驶到10公里。10公里后,每公里加3元。等待费是每5分钟2元。乘客还需付1元的燃油费。
涨价之后,出租车的起步价为11元,可行驶3到公里。3公里后,每公里加2.5元,可行驶到10公里。10公里后,每公里加3.75元。等待费是每4分钟2.5元。无燃油费。
实际上,最后的车费是四舍五入到元的。现在问你,当小明坐出租车行驶了d公里,并且等待了t分钟,与涨价之前相比,小明现在要多花多少钱?
输入格式
输入的第一行是一个整数T,表示有T组测试数据。
每组输入两个整数d(1<=d<=1000)和t(0<=t<=300)。
输出
对于每组输入,输出要求的结果。
样例输入
4
2 0
5 2
7 3
11 4
样例输出
0
1
3
5
#include<cstdio>
int main(){
double a,b;
int test,d,t,x,y;
scanf("%d",&test);
while(test--){
scanf("%d%d",&d,&t);
a=11;
b=11;
if(d-3>0){
if(d-10>0){
a+=14+(d-10)*3;
b+=17.5+(d-10)*3.75;
}
else{
a+=(d-3)*2;
b+=(d-3)*2.5;
}
}
a+=t/5.0*2;
b+=t/4.0*2.5;
x=a+0.5;
y=b+0.5;
printf("%d\n",y-x);
}
}
总结:
这道题是简单题,但是貌似坑了很多小伙伴。当时觉得自己一直没有错误,但是一直AC不过去。 看了表答,才明白了四舍五入的具体含义。 比如x=0.3,就是x=0.y=0.7 那么y=1. y-x=1 如果你先把y-x就是0.4 四舍五入就是 y-x=0; 所以这样就会出现错误答案。所以计算出每一个答案,然后分别四舍五入,在做减法运算。 |