zoukankan      html  css  js  c++  java
  • NOIP2002 自由落体

    题三 自由落体(存盘名:NOIPG3)

    [问题描述]:

      在高为 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)

    [输出]:

      屏幕输出:

      小车能接受到的小球个数。

    [输入输出样例]

     [输入]:

       5.0 9.0 5.0 2.5 1.8 5

     [输出]:

       1

    【思路】

      模拟。

      需要注意的是double类型的精度误差,所以比较的时候应该特别处理。

    【代码】

     1 #include<iostream>
     2 #include<cmath>
     3 using namespace std;
     4 
     5 const double eps=1e-5;
     6 double H,S,V,L,K;
     7 int n,ans=0;
     8 
     9 int main() {
    10     cin>>H>>S>>V>>L>>K>>n;
    11     for(int p=n-1;p>=0;p--) {
    12         if(p>S) continue;
    13         double t2=(S-p+L)/V,t1=(S-p)/V;
    14         double d2=(5*t2*t2),d1=(5*t1*t1);
    15         if(d1>H+eps || d2<(H-K-eps)) continue;  //最小高度超过H 或 最大高度不能落入 
    16         ans++;
    17     }
    18     cout<<ans;
    19     return 0;
    20 }
  • 相关阅读:
    C#获取本地IP地址
    C#中将字符串转换成数值
    JavaScript实现基于对象的双端队列
    Java网络编程
    JavaScript实现基于对象的队列
    JavaScript实现基于对象的栈
    JavaScript实现基于数组的栈
    发送短信按钮倒计时案例
    JavaScript动态显示时间
    html
  • 原文地址:https://www.cnblogs.com/lidaxin/p/4859534.html
Copyright © 2011-2022 走看看