/*
分析:
物理都忘得差不多了,一开始还真准备一步一步算呢,
但总感觉不对劲儿,囧~。于是,就反应过来了:
计算出S=忽略天花板能到达的距离;然后列方程,计
算出轨道抛物线和天花板是否有交点,有两个交点的话,
S-=两个交点的距离。输出S即可。。。
2012-10-03
*/
#include"stdio.h" #include"string.h" #include"math.h" #define g 9.87 int main() { double v,m,ang; double v_c,v_s; double a,b,c,dir; double ans; while(scanf("%lf%lf%lf",&v,&m,&ang)!=-1) { ang=ang*3.1415927/180; v_s=v*cos(ang); v_c=v*sin(ang); ans=v_s*(v_c/g+sqrt(2*(3+0.5*v_c*v_c/g)/g)); a=g/2/v_s/v_s; b=-(v_c/v_s); c=0.5; dir=b*b-4*a*c; if(dir<0) printf("%0.3lf\n",ans); else printf("%0.3lf\n",ans-sqrt(dir)/a); } return 0; }