Description
沿着x轴有一条从左向右流且流速为v2的小河,有一艘位于(0,a)处,相对于水速速度为v1的小船,小船时刻调整其船头使之朝向(0,0)处,问小船到达(0,0)点所需的最短时间
Input
多组用例,每组用例输入三个整数a,v1,v2,以文件尾结束输入,不超过1000组用例(0<=a,v1v2<=100)
Output
对于每组用例,如果小船能够到达(0,0)点则输出最短时间(绝对误差不超过1e-4即可),否则输出“Infinity”
Sample Input
2 3 3
2 4 3
Sample Output
Infinity
1.1428571429
Solution
高中物理竞赛题。。。
ans=a*v1/(v1^2-v2^2),特判a=0,v1=0以及v1<=v2的情况
Code
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int a,v1,v2;
while(~scanf("%d%d%d",&a,&v1,&v2))
{
if(a==0)
{
printf("0\n");
continue;
}
if(v1<=v2||v1==0)
{
printf("Infinity\n");
}
else
{
double ans=1.0*a*v1/(v1*v1-v2*v2);
printf("%.8f\n",ans);
}
}
}