uva 10387 - Billiard
来源:互联网 发布:js调用ajax方法 编辑:程序博客网 时间:2024/05/17 21:40
题意: 台球从水平长度a垂直长度b的桌子中间以速度v射出 s 秒后撞击 水平挡板n次 垂直挡板m次 然后返回出发点
这道题有一个很重要的思想 : 既然速度不变 那么我们就把台球抽象在一个很多的台球桌拼接在一起的平面上的运动 为什么这样想呢 因为入射角等于反射角
然后从一个台球桌的中点到另外一个台球桌的中点找一条满足与垂直相交m次 与水平相交n次的点 找到哪个点应该不难 自己找试试
找到哪个点了后就可以计算出角度和速度了;
下面看代码
#include<cstdio>#include<cmath>#define PI acos(-1)#define eps 1e-8using namespace std;int main(){ double a,b,s,m,n,v,angle; while(scanf("%lf%lf%lf%lf%lf",&a,&b,&s,&m,&n)) { if(a < eps&& b< eps&& s< eps&&m < eps&&n < eps)break; angle = atan((n*b)/(m*a)); double l = sqrt(m*a*m*a+n*b*n*b); v = l / s; printf("%.2lf %.2lf\n",angle*180/PI,v); } 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
- appserv 发生httpd.exe xxx不能为read的错误
- std::map用法
- IOS StoryBoard修改对于真机无效的问题
- uva 442 - Matrix Chain Multiplication (记忆化搜索 | 重做一年前的题)
- Android中SQLite应用详解
- uva 10387 - Billiard
- uva 10453 - Make Palindrome (区间dp,记忆化搜索)
- 【算法导论】二叉树的建立
- 在github上管理项目
- HBase列族高级配置
- C语言字符串的指针
- AsyncTask简单应用(一)
- JavaScript创建和遍历JSON数据
- 在windows7 上 安装orcale 11g时遇到的问题(Oracle Database 10g 未在当前操作系统中经过认证)