题意:屌丝从圆心出发,女神在圆上跑,且保证屌丝、圆心、女神在一条直线上。然后给出女神的速度v1、屌丝的速度v2、圆的半径R、屌丝最多能跑的距离D,问屌丝能追上女神不。
分析:定积分。
1.将屌丝的速度分解为平行于女神和垂直于女神的方向,分别为vx和vy;
2.由于屌丝和女神的角速度一样,所以有:v1/R=vx/r,r为屌丝跑的距离;
3.对于屌丝的速度有:v2^2=vx^2+vy^2;
4.由2、3得vy=sqrt(v2^2-(v1*r/R)^2);
5.而vy和r有关:vy=dr/dt;
6.就有dt=dr/vy,对r进行积分,根据公式得t=R/v1*arcsin(v1/v2);
7.比较t*v2和D的大小得出结果;
#include<cstdio>
#include<cmath>
int main()
{
int T;
double v1,v2,R,D,t,d;
scanf("%d",&T);
while(T--)
{
scanf("%lf%lf%lf%lf",&v1,&v2,&R,&D);
t=R/v1*asin(v1/v2);
d=t*v2;
printf("%s\n",d>D?"Why give up treatment":"Wake up to code");
}
return 0;
}