oj4099-货车司机

我也是两年半没更新了好吧!

直接上题目!

描述

货车司机收到一个运送货物的任务,要求他运送货物到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;
}

万能头懂的都懂!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值