zoukankan      html  css  js  c++  java
  • hdu 5761 Rower Bo 物理题

    Rower Bo

    题目连接:

    http://acm.hdu.edu.cn/showproblem.php?pid=5761

    Description

    There is a river on the Cartesian coordinate system,the river is flowing along the x-axis direction.

    Rower Bo is placed at (0,a) at first.He wants to get to origin (0,0) by boat.Boat speed relative to water is v1,and the speed of the water flow is v2.He will adjust the direction of v1 to origin all the time.

    Your task is to calculate how much time he will use to get to origin.Your answer should be rounded to four decimal places.

    If he can't arrive origin anyway,print"Infinity"(without quotation marks).

    Input

    There are several test cases. (no more than 1000)

    For each test case,there is only one line containing three integers a,v1,v2.

    0≤a≤100, 0≤v1,v2,≤100, a,v1,v2 are integers

    Output

    For each test case,print a string or a real number.

    If the absolute error between your answer and the standard answer is no more than 10−4, your solution will be accepted.

    Sample Input

    2 3 3
    2 4 3

    Sample Output

    Infinity
    1.1428571429

    Hint

    题意

    有一个船在(0,a),船头的方向一直指着(0,0)位置,速度是v1,然后有一个水流速度是v2,朝着x轴正半轴方向流。

    问你什么时候船到达(0,0)位置。

    题解:

    傻逼物理题,高中考了无数遍,嘿嘿嘿。

    程书习题2-29 狐狸追猎犬

    解释是我百度的:

    有一只狐狸以不变速度v1沿着直线AB逃跑,一猎犬以不变的速率v2追击,其运动方向始终对准狐狸。某时刻狐狸在F处,猎犬在D处,FD⊥L(如图)

    设运动时间为t,任意时刻ti对应一个v2与竖直方向所成的α角度

    若追上

    则在水平方向上:∫<0,t> v2sinα dt=v1t………………③

    在竖直方向上:∫<0,t>v2cosα dt=L…………………④

    尽管列出这两个方程,我们仍有一个条件没有用到,那就是猎犬速度方向始终朝向狐狸。于是我们想到了相对运动

    若以狐狸建立参考系,则猎犬在一个直线运动,其路程即为L。由于有

    v绝对=v相对+v牵连

    所以 猎犬对狐狸在每个时刻的相对速度 v’=v2-v1sinα

    如此便有 ∫<0,t> v'dt=L

    即 ∫<0,t> v2dt-∫<0,t> v1sinα dt=L………………⑤

    联立③和⑤,即可得到t= v2L/(v2^2-v1^2)

    代码

    #include<bits/stdc++.h>
    using namespace std;
    double a,v1,v2;
    void solve(){
        if(a==0){
            double ans = 0;
            printf("%.12f
    ",ans);
            return;
        }
        if(v1<=v2){
            printf("Infinity
    ");
            return;
        }
        printf("%.12f
    ",a*v1/(v1*v1-v2*v2));
    }
    int main(){
        while(cin>>a>>v1>>v2)solve();
        return 0;
    }
  • 相关阅读:
    sphinx的配置和管理
    linux 性能分析
    17个非常有用的PHP类和库
    webkit webApp 开发技术要点总结
    国外十大流行的服务器监控工具
    lnmp环境搭建,超详细教程
    nginx在window下的服务安装
    HBase源代码阅读与理解
    找出1到N中缺少的數?
    插入排序 (insertion_sort)與 合並排序 (mergesort)
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5708521.html
Copyright © 2011-2022 走看看