题目链接:uva 10773 - Back to Intermediate Math
题目大意:有一天河,宽d,水流速度v,船速u,问说垂直过河和最快过河的时间差,如果不能过河输出“can‘t determine”。
解题思路:将u的速度分解成水平方向和竖直方向的两个速度,使水平方向速度恰好为v,船即可垂直过河,速度为竖直方向速度。
#include <cstdio> #include <cstring> #include <cmath> const double eps = 1e-6; int main () { int cas; scanf("%d", &cas); for (int i = 1; i <= cas; i++) { double d, u, v; scanf("%lf%lf%lf", &d, &v, &u); printf("Case %d: ", i); if (u-v < eps || u < eps || v < eps) printf("can‘t determine\n"); else { double x = sqrt(u*u - v*v); printf("%.3lf\n", d/x - d/u); } } return 0; }
uva 10773 - Back to Intermediate Math(数论),码迷,mamicode.com
时间: 2024-10-25 04:18:42