我也是两年半没更新了好吧!
直接上题目!
描述
货车司机收到一个运送货物的任务,要求他运送货物到A点,货车司机从当前位置到A点有两种方式,第一种方式是走国道,路程是a公里,正常时速50公里每小时;第二种方式是走高速,路程是b公里,正常时速90公里每小时。如果后面几天的天气是晴天的话,就能以正常时速行驶,;如果是大雨天的话,只能以正常时速的60%行驶;如果是暴雨天的话,只能以正常时速的40%行驶;如果是大雾天的话,只能以正常速度的30%行驶。货车司机采用两人轮流开车的模式,一人开车另一人休息,但货车每连续行驶达到4个小时就要停车休息半小时。
请你根据天气情况,计算一下货车司机最快需要多少时间才能将货物送达。
输入
输入一行三个整数,空格隔开。
第1个整数表示后面几天的天气,0表示晴天,1表示大雨天,2表示暴雨天,3表示大雾天,后面几天的天气都是一样的,不会发生变化,也不会有其他的天气情况;
第2个整数表示第1种方式的路程公里数(小于2000);
第3个整数表示第2种方式的路程公里数(小于2000);
输出
一行一个实数,表示送达的最快时间小时数,结果保留两位小数点。
输入样例
0 200 270
输出样例
3.00
他喵的,我**都学到二维了,才肝到cout。。。
懒得分析了上代码!
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
double d1,d2;
cin>>a>>b>>c;
cout<<fixed<<setprecision(2);
switch(a){
case 0:d1=b/50.0;d2=c/90.0;break;
case 1:d1=b/(50.0*0.6);d2=c/(90.0*0.6);break;
case 2:d1=b/(50.0*0.4);d2=c/(90.0*0.4);break;
case 3:d1=b/(50.0*0.3);d2=c/(90.0*0.3);break;
}d1+=1.0*floor(d1/4)*0.5;
d2+=1.0*floor(d2/4)*0.5;
if(d1<=d2){
cout<<d1;
}else{
cout<<d2;
}return 0;
}
万能头懂的都懂!