Passenger Comfort URAL - 1885
题目描述:求飞机声音堵塞耳朵的时间,飞机前t秒要飞到高度H,速度不能超过v,能够堵塞耳朵的最小速度是x,求飞机声音堵塞耳朵的时间的最大时间和最小时间。
解题思路:
如果h/t >x , 则最大时间是t,反之则是h/x,做小时间由方程解出: x*t1+v*t2=h, t1+t2=t;
解得 t2=(h-t*x)/(v-x);另外需要注意一个地方,这个式子分子<0的时候,应该输出0.被这个地方坑过。另外此题的样例给错了,坑了我们从头到尾。直接输出六位小数就行。
代码如下:
#include <cstdio>
#include <string>
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
const double esp = 1e-6;
int main()
{
double h, t, v, x;
cin >> h >> t >> v >> x;
double minn = (h-t*x)/(v-x);
double maxx = h/t<=x? h/x : t;
cout << setiosflags(ios::fixed) << setprecision(6) << (minn<0?0:minn) << ' ' << maxx << endl;
return 0;
}