1. 程式人生 > >【分治】逃亡

【分治】逃亡

namespace ret fab hide open 戰略 hid fabs 整數

題目描述

邪狼緊張地說:“老大,警察快追過來了,我們快逃跑吧!”
修羅王傲然道:“在我的字典裏沒有逃跑。。。”
邪狼內心崇敬地想:“老大實在是太有領袖範了……”
修羅王接著說:“只有戰略轉移。”
邪狼:“……”
現在,修羅王和邪狼兩人需要從A地出發盡快到達B地。出發時A地有一輛可帶一人的自動駕駛懸浮車。又知兩人步行速度相同。問怎樣利用小車才能使兩人盡快同時到達B地。

輸入

有三個int類型整數,分別表示A、B兩地的距離,步行速度和車速。

輸出

有一個小數位數為2的浮點數,即最短時間。

樣例輸入

100 5 10

樣例輸出

14.00

提示

就是很水的二分,要註意車是自動的會自己回去接人。
技術分享圖片
#include<bits/stdc++.h>
using
namespace std; #define ll long long int main() { std::ios::sync_with_stdio(false); std::cin.tie(0); int i,j,k; double s,a,b,l,r; double t1,t2; cin>>s>>a>>b; l=0,r=s; while(l<=r) { double mid=(l+r)/2; t1=mid/b+(s-mid)/a; t2=mid/b+(mid-mid/b*a)/(a+b)+(s-(mid-mid/b*a)/(a+b)*a-mid/b*a)/b;
if(fabs(t1-t2)<=1e-5) { cout<<fixed<<setprecision(2)<<t1<<endl; return 0; } else if(t1<t2) r=mid; else if(t1>t2) l=mid; } return 0; }
View Code

 

【分治】逃亡