UVA - 10387 Billiard
2014-12-20 18:26
176 查看
题目链接
在台球桌上,有一个球在桌中心与水平线成一个角度以一定的初速度发射出去,最后返回了出发点,给出经过的时间,和碰撞水平线的次数和垂直线的次数,求球初始的角度与初速度。球所做的是弹性碰撞,没有动能损失。
初一看,这题不太好做,需要思考,但是可以想到,球既然回到了初始点,并且速度不变,那么经过的总的水平距离应该就是碰撞垂直线的次数×水平线的长度(来回)a*m,同理经过的总的垂直距离等于碰撞水平线的次数乘以垂直线的长度b*n。 这样总的距离可以用勾股定理求出,并且已知时间,就可以求出速度。弧度就是 atan(b*n/a*m) 在转换成角度。
在台球桌上,有一个球在桌中心与水平线成一个角度以一定的初速度发射出去,最后返回了出发点,给出经过的时间,和碰撞水平线的次数和垂直线的次数,求球初始的角度与初速度。球所做的是弹性碰撞,没有动能损失。
初一看,这题不太好做,需要思考,但是可以想到,球既然回到了初始点,并且速度不变,那么经过的总的水平距离应该就是碰撞垂直线的次数×水平线的长度(来回)a*m,同理经过的总的垂直距离等于碰撞水平线的次数乘以垂直线的长度b*n。 这样总的距离可以用勾股定理求出,并且已知时间,就可以求出速度。弧度就是 atan(b*n/a*m) 在转换成角度。
#include<cstdio> #include<cmath> #define pi acos(-1) int main() { int a,b,s,m,n; while(~scanf("%d%d%d%d%d",&a,&b,&s,&m,&n)&&a+b+s+m+n) { double aa=a*m,bb=b*n,c,d; c=atan(bb/aa)/pi*180; d=sqrt(bb*bb+aa*aa)/s; printf("%.2lf %.2lf\n",c,d); } return 0; }
相关文章推荐
- UVA 10387 (暑假-几何 -C - Billiard)
- UVA-10387 Billiard
- UVa 10387 - Billiard
- uva-10387 - Billiard
- uva-10387 - Billiard
- uva 10387 Billiard 几何 撞球
- UVA10387 Billiard
- uva 10387 Billiard
- UVA - 10387 Billiard
- Uva 10387 - Billiard
- UVa 10387 - Billiard
- Uva 10387 Billiard
- UVA - 10387 Billiard
- Uva 10387 Billiard
- uva 10387 Billiard
- UVA 10387 Billiard
- uva 10387 Billiard(简单几何)
- UVA - 10387 Billiard
- UVA - 10387 Billiard
- UVA 10387 Billiard