逃亡

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<cmath>
#include<algorithm>
#define Max 100001

using namespace std;
typedef long long ll;

int main() {
	int dis, vperson, vcar;
	double a, b, mid, ans, t1, t2, t3, t4;
	cin >> dis >> vperson >> vcar;
	a = 0, b = dis;
	do {
		mid = (a + b) / 2.0;
		t1 = mid / vcar + (dis - mid) / vperson;
		t3 = (mid - mid / vcar * vperson) / (vperson + vcar); //小车回头与乙相遇的时间 
		t4 = (dis - (t3 + mid / vcar) * vperson) / vcar;
		t2 = mid / vcar + t3 + t4;
		
	    if(t1 < t2) {
			b = mid;
		}else {
			a = mid;
		}
	}while(fabs(t1 - t2) > 1e-4);
	cout << t1;
	return 0;
}

浮点数注意:fabs > 1e-4 减小误差

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值