题意:
题目可以描述为下图:
一个人初始时刻在坐标(0,a),要到达(0,0),水流速度为v2,人的速度为v1,大小不变切始终指向(0,0),问是否能到达(0,0),如果能到达时间是多少?
思路:
一道关于速度的物理题,这种题通常要画出矢量图,并且对于速度的分量列出微分方程并求解。
考虑v1的方向和v2的方向可以列出两个方程:
其中r是人距离原点的距离,定积分之后,将积分式消去,就可以得到结果。
T = v1 * a / (v1 * v1 - v2 * v2)
代码:
using namespace std;
int main() {
int a, v1, v2;
while (scanf("%d%d%d", &a, &v1, &v2) == 3) {
if (a == 0) puts("0");
else if (v1 <= v2) puts("Infinity");
else printf("%.4f\n", 1.0 * a * v1 / (v1 * v1 - v2 * v2));
}
return 0;
}