uva 10387 Billiard
来源:互联网 发布:vscode路径插件 编辑:程序博客网 时间:2024/04/30 23:11
分析问题时,可以将速度分为水平方向和垂直方向的分量,简单推导之后,可以发现,最后球回到中点的时候,水平方向和垂直方向的路程分别为m*a和n*b,这样垂直方向和水平方向的速度分量比就是(n*b)/(m*a),这样所求角度的正切值就出来了,注意处理90度的特殊情况,然后用路程处以时间,速度的绝对值就出来了,将水平和垂直方向的速度值算平方和开根就是题目求的速度了。
#include <stdio.h>#include <math.h>#definePI(acos(-1.0))void func(int a, int b, int s, int m, int n){double angle;double v_x, v_y, v;v_x = m*a/(double)s;v_y = n*b/(double)s;v = sqrt(v_x*v_x + v_y*v_y);if(n*b == 0) //90度的特殊情况angle = 90.0;elseangle = atan(v_y/v_x)/PI*180;printf("%.2lf %.2lf\n", angle, v);}int main(void){int a, b, s, m, n;while(1){scanf("%d %d %d %d %d", &a, &b, &s, &m, &n);if(!a && !b && !s && !m && !n)break;func(a, b, s, m, n);}return 0;}
- 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
- UVA - 10387 Billiard
- uva 10387 Billiard
- UVA - 10387 Billiard
- UVA 10387 Billiard
- UVa 10387 Billiard
- CxImage实现多图层半透明混合显示
- 五大常用算法之四:回溯法
- Java序列化的作用
- 搭建在Eclipse上开发Heroku应用的环境
- 《机器学习实战》作者Peter Harrington:如何成为一位数据科学家(图灵访谈)
- uva 10387 Billiard
- Java数组技巧
- Geoserver 标准乱码、属性查询源码分析
- 五大常用算法之五:分支限界法
- 结构体数组排序
- Oracle Database Version History
- Cocos2dx 环境配置和入门指点
- 初识Linux-4
- 学会读代码