这道题可以推出\(O(1)\)的算法,但是实际上暴力模拟就可以过了。
代码(暴力模拟):
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
int T;
double q,v,d,g,vh,t,vs,ans,eps=1e-8;
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%lf%lf%lf%lf",&q,&v,&d,&g);
ans=0;q=q*acos(-1)/180.0;
while(v>=eps)ans+=v*cos(q)*v*sin(q)/g*2.0,v=v*d;
printf("%.5lf\n",ans);
}
}