UVa 10387 台球

2014-11-24 09:43:17 · 作者: · 浏览: 0

/*

* 解题思路:

* 题目大意就是,给出5个数据,分别是,台球桌的水平长度,竖直长度,小球滚动多少秒,撞击竖直边缘的次数,撞击水平边缘的次数

* 要求是给出,小球最开始击打时的初始角度和每秒钟滚动的速度

* 解题:

* 刚开始碰到题目很没有思路、给的都是距离的条件,怎么去求角度速度

* 这题有点转换的技巧在里面, V = S / t;

* 所以先求出总路程,那么速度就可以解决,那么总路程要怎么得出来

* 由小球撞击台球桌边缘的次数乘以相对应的台球桌桌长(宽)即可( 相当于利用勾股定理: 横向^2+纵向^2 = 总路程^2 )

* 经转换后、题目也就不难了!

*/


#include 
  
   
#include 
   
     int main( ) { int a,b,s,m,n; double x,y,pi = ; while( scanf("%d%d%d%d%d",&a,&b,&s,&m,&n) && (a||b||s||m||n ) ) { x = a*m; y = b*n; printf("%.2lf %.2lf\n",atan( y/x )/(4.0 * atan( 1.0 ))*180,sqrt(x*x+y*y)/s); } return 0; }