UVA 10387 Billiard
2016-07-13 14:39
302 查看
UVA-10387
题意:给了5个数据,分别为 水平边高度、竖直边高度、飞行时间、竖直边被碰撞次数、水平边被碰撞次数。把球从中心释放,经过给定时间和碰撞之后正好回到中心,求球的初始角度和速度。解题思路:因为会回到中心,每碰撞一次竖直边,表示最终会在水平上移动完整的水平边长度。竖直同理。知道它总的水平和竖直移动长度,就可以求出实际的路线长度 l。除以时间就是速度。角度就利用反三角函数求。因为出来的是弧度,atan(tb/ta)/pi *180转成角度。
#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cmath> using namespace std; double a,b,s,m,n,ta,tb,l,v; int main () { double pi = acos(-1.0); freopen("xx.in","r",stdin); while (scanf("%lf%lf%lf%lf%lf",&a,&b,&s,&m,&n) && (a || b || s || n || m)){ ta = a*m; tb = b*n; l = sqrt(ta*ta + tb*tb); l = l/s; v = atan(tb / ta)/pi * 180; printf("%.2lf %.2lf\n",v,l); } }
相关文章推荐
- 后端程序员网上经常搜索的代码及命令
- 500 Lines or Less——导言
- [JZOJ4624] 字符串匹配
- IOS/OSX下利用AVFoundation来dump提取视频解码裸数据详解,提供源码
- 重新发送验证码
- javassist 基本用法
- 网站缓存技术总结( ehcache、memcache、redis对比)
- JAVA日期工具类
- java swing餐厅点餐系统的设计与实现及源码之Java图形界面餐厅点餐系统的实现
- 区块链在中国(1):IBM HyperLedger
- [SSIS] 在脚本里面使用数据库连接字符串进行查询等处理, 入坑
- NS2在Ubuntu14.04下使用时执行nam遇到Segment Fault (core dump)的解决方法
- LeetCode integer to Roman详解
- 欢迎使用CSDN-markdown编辑器
- 可重入函数与线程安全的区别及联系
- What is zero-shot learning?
- UESTC621 吴神的大脑
- 第六章 ASP.NET应用实例 -- 学习笔记
- C源程序到可执行文件的步骤
- 同一个textview设置不同文字样式