2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛 J:物理

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int T;
    scanf("%d", &T);
    while(T --) {
        int s, v1, v2;
        scanf("%d %d %d", &s, &v1, &v2);
        if(!s) puts("0.0000000000");
        else if(v1 <= v2) puts("Infinity");
        else printf("%.10f\n", s * v1 * 1.0 / (v1 * v1 - v2 * v2));
    }
    return 0;
}

链接: https://www.nowcoder.com/acm/contest/118/J
来源:牛客网

题目描述


现在萌新要乘船度过一条河,这条河宽为s米。
现已知船相对于水的速度为v 1,水流的速度为v 2
由于萌新想到达起点的正对岸,所以他会一直调整船行驶的方向朝向正对岸。

你的任务是计算萌新将用多少时间度过这条河;若他不能到达起点的正对岸,输出“Infinity”。

输入描述:

第一行输入一个整数n,表示测试用例数;
接下来n行,每行输入三个整数s、v1、v2。
其中,1≤n≤1000,0≤s≤100, 0≤v1,v2≤100。

输出描述:

输出一个实数,你的任务是计算萌新将用多少时间度过这条河(保留10位小数);若他不能到达起点的正对岸,输出“Infinity”。



#include <bits/stdc++.h>

using namespace std;

int main()
{
    int T;
    scanf("%d", &T);
    while(T --) {
        int s, v1, v2;
        scanf("%d %d %d", &s, &v1, &v2);
        if(!s) puts("0.0000000000");
        else if(v1 <= v2) puts("Infinity");
        else printf("%.10f\n", s * v1 * 1.0 / (v1 * v1 - v2 * v2));
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_36876305/article/details/80209396
今日推荐