HDU4969 物理 Just a Joke

题目描述:

Here is just a joke, and do not take it too seriously.

Guizeyanhua is the president of ACMM, and people call him President Guizeyanhua. When Guizeyanhua is walking on the road, everyone eyes on him with admiration. Recently, Guizeyanhua has fallen in love with an unknown girl who runs along the circular race track on the playground every evening. One evening, Guizeyanhua stood in the center of the circular race track and stared the girl soulfully again. But this time he decided to catch up with the girl because of his lovesickness. He rushed to the girl and intended to show her his love heart. However, he could not run too far since he had taken an arrow in the knee. 

Now your task is coming. Given the maximum distance Guizeyanhua can run, you are asked to check whether he can catch up with the girl. Assume that the values of Guizeyanhua's and the girl's velocity are both constants, and Guizeyanhua, the girl, and the center of the circular race track always form a straight line during the process. Note that the girl and Guizeyanhua can be considered as two points.


大致意思是 妹纸以V2的速度大小在圆形轨道上跑,追她的人从圆心开始以V1的速度大小向妹纸跑去, 且俩人连线始终过圆心,问能跑D米能不能追上妹纸。


难得的物理题啊,怀旧的感脚大大滴有~


首先,证明,当V1=V2时,会以一个圆弧为运动轨迹


如图  若妹纸在以OB为半径的跑道上跑,起点是D,那么初始时V1方向与OD相切,又因为最后追到时与妹纸速度相同,所以可以设运动轨迹 曲线OCB是以OB为直径的圆弧。在曲线上任取一点T,记 AOT为θ,那么∠OO'T=2θ, 弧OT=OB/2*2θ=Rθ;同时 弧DT'=Rθ,所以 弧DT=弧OT,满足假设,猜想成立。


第二步 计算弧OC

这部分就不是难点了  作比解三角形就OK了  松松的~


ps:结尾附小绿皮中的利用波动的证明


代码如下

/**

吉林大学
Jilin U

Author:     sinianluoye (JLU_LiChuang)
Date:        2014-08-19
Usage:

**/

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>

#define ll long long
#define eps 1e-8
#define ms(x,y) (memset(x,y,sizeof(x)))
#define fr(i,x,y) for(int i=x;i<=y;i++)

using namespace std;

int main ()
{
    int T;
    cin>>T;
    while(T--)
    {
        double v1,v2,r,d;
        scanf("%lf%lf%lf%lf",&v1,&v2,&r,&d);
        double r2=v2*r/v1/2;
        double thet=2*asin(r/r2/2);
        double ans=r2*thet;
        if(ans<d-eps)printf("Wake up to code\n");
        else printf("Why give up treatment\n");
    }
}

/*************copyright by sinianluoye (JLU_LiChuang)***********/





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值