[NOIP2002]自由落体
2024-09-25 13:23:49
NOIp2002提高组
题目描述
在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1。在地面上有一个小车(长为 L,高为 K,距原点距离为 S1)。已知小球下落距离计算公式为 d=1/2*g*(t^2),其中 g=10,t 为下落时间。地面上的小车以速度 V 前进。
如下图:
小车与所有小球同时开始运动,当小球距小车的距离 <= 0.00001 时,即认为小球被小车接受(小球落到地面后不能被接受)。
请你计算出小车能接受到多少个小球。
输入输出格式
输入格式:
键盘输人:
H,S1,V,L,K,n (l<=H,S1,V,L,K,n <=100000)
输出格式:
屏幕输出:
小车能接受到的小球个数。
输入输出样例
输入样例#1:
5.0 9.0 5.0 2.5 1.8 5
输出样例#1:
1
思路
一道“经典”的物理题,数据太水,不优化也可以全过,注意小球的0..n-1指的是他的位置,是要计算的。
说一下想出来的优化吧:
1.如果小球的位置超出了车刚开始的位置,则跳出循环。
2.小车太慢(即V<=Vmin)或太快(V>Vmax)时,一个球也接不到。
const ma=0.00001;
var h,h1,s1,v,l,k,t:real;
n,i,ans:longint;
begin
readln(h,s1,v,l,k,n);
ans:=;
for i:= to n- do
begin
t:=(s1-i)/v;
h1:=*t*t;
if h1>h+ma then continue;
t:=(s1-i+l+ma)/v;
h1:=*t*t;
if h1<h-k-ma then continue;
inc(ans);
end;
writeln(ans);
end.
最新文章
- Origin9.1如何使用原始数据(Raw Data)绘制风向玫瑰图
- C#_Winfrom下的中英文翻译
- scikit-learn 机器学习工具包
- 初级——程序如何打包成apk文件
- POJ 3208-Apocalypse Someday(数位dp)
- JS实例(二)
- 原生js实现tab选项卡里内嵌图片滚动特效代码
- C++学习之DLL注入
- IOS 设备信息读取
- Oracle GoldenGate配置异构数据库数据传输(oracle到sqlserer)的dml操作(带pump进程)
- hdu 5830 FFT + cdq分治
- C# 程序异常关闭时的捕获
- Java面试题整理---JVM篇
- ARM基础
- this和构造器的内存分析(***)
- DDR4 PSOD输出的优点--DBI的优点
- 利用Makefile安装helloworld模块(速成)
- EasyUI的combobox组件Chrome浏览器不兼容问题解决办法
- 【Python虫师】多窗口定位
- cmd 常用操作