高级光能
#include<iostream>
#include<cstdio>
using namespace std;
double h,o,sum;
int main(){
cin>>h;
cin>>o;
if(h==1){
if(o<=2.5){
sum=(o/2.5)*8-1.4*o;
}
else if(o<=15)
sum=(o/2.5)*8-o*1.4;
else
sum=(o/2.5)*8+15*1.4-(o-15)*2.1;
}
else
{
if(o<=2.5){
sum=9-1.4*o;
}
else if(o<=15)
sum=(o/2.5)*9-o*1.4;
else
sum=(o/2.5)*9+15*1.4-(o-15)*2.1;
}
printf("%.0f",(int)(sum+0.5)/1.0);
return 0;
}
输出样例比正确样例小1
在线等 哪错了
赵朗在2020-04-02 21:25:23追加了内容
酷町侠 别关闭 我这是让他们找错啊
初级守护
首先
当小于2.5时是起步价,8或9.
其次
else if(o<=15)
应该是
else if(o>=2.5&&o<=15)
还有你的算法错了
应该是起步价(9或8)加上o-2.5(因为起步价算过了)然后乘1.4。
1:小于15大于2.5是这样算的
sum=8+(o-2.5)*1.4;
1:大于15 是这样算的
sum=8+12.5*1.4+(o-15)*2.1;
2:小于15大于2.5是这样算的
sum=9+(o-2.5)*1.4;
2:大于15 是这样算的
sum=9+12.5*1.4+(o-15)*2.1;