HDU 2529 Shot (物理题)
2016-07-22 11:35
375 查看
Shot
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1215 Accepted Submission(s): 686
[align=left]Problem Description[/align]
“超人”霍华德在NBA扣篮大赛上要求把篮筐升高表演扣篮,但是却没有得到批准,现在我们的hhb也想要给大家表演一个,但是这次他想要表演的是投篮,篮筐放得越高,hhb的表演当然就越精彩,所以现在请你帮助hhb计算出篮筐离地最高能放多高。
假设把球投到篮框的高度就算球进。忽略球和框的大小。
[align=left]Input[/align]
多组测试数据
每组测试数据包括3个浮点数h, l, v (1<=h<=2,1<=l<=100,0<v<=100),分别表示hhb的出手点高度,出手点离篮筐的水平距离和hhb投出的球的速度,h=l=v=0表示输入结束(球在运动过程中只受重力的作用,不受其它任何力的作用,重力加速度取g=9.8,题目中所有物理量均是国际单位制)
[align=left]Output[/align]
对于每组数据,输出一行,包含一个数,在球可以投进篮筐的情况下,篮筐可以离地的最高高度(输入保证这个值一定大于0)。输出保留到2位小数。
[align=left]Sample Input[/align]
1.5 5.0 7.0
0 0 0
[align=left]Sample Output[/align]
1.50
[align=left]Source[/align]
The 6th UESTC Programming Contest
[align=left]Recommend[/align]
lcy | We have carefully selected several similar problems for you: 2528 2533 2530 2534 2531
题解:
设出手速度与水平方向夹角为theta,由水平方向和垂直方向速度分解得(H为最大高度):
消去t,得:
三角代换得:
故形成tan(theta)的一元二次方程:
再用
求出最大值。
所以最大值为:
AC代码:
#include <iostream> #include<stdio.h> using namespace std; int main() { ios::sync_with_stdio(false); double h, l ,v; while(cin>>h>>l>>v && (h || l || v)) { double s = -9.8*l*l/(2*v*v) - l*l/(2.0*(-9.8*l*l)/(v*v)) + h; printf("%.2lf\n",s); } }
相关文章推荐
- WPS 下一层级级 快捷键
- 【HDU】5742 It's All In The Mind
- 关于yuv 格式-Semi Planar和Planar
- 对于android.intent.action.MAIN和android.intent.category.LAUNCHER的理解
- thrift远程调用示例
- 为什么找不到工作的是你,技术差的还是你?
- ubuntu下安装配置部署zabbix——mysql监控
- javascript 引用类型 - Array迭代
- 解决Android 5.0中出现的错误:Service Intent must be explicit
- 把图片保存到相册
- POJ 3669 Meteor Shower(BFS)
- 设置windows的默认调试器
- js实现url链接encode加密
- 波特率原理【转】
- redis 查看的版本
- linux_inux中find批量删除空文件及空文件夹脚本
- The import org.apache.tools cannot be resolved 想必大家普遍遇到过吧。完美解决
- Mybatis DataSource Connection 相关源码
- 优化程序性能
- JAVA回调函数