游客 Signup | Login
中文 | En

2353 - 自由落体

在高为H的天花板上有n个小球,体积不计,位置分别为0,1,2,... n-1。在地面上有一个小车(长为L,高为K,距原点距离为 S1)。已知小球下落距离计算公式为d=1/2*g*(t^2),其中g=10,t为下落时间。地面上的小车以速度V前进。

如下图:


<span style="line-height:1.5;">小车与所有小球同时开始运动,当小球距小车的距离&lt;=0.00001时,即认为小球被小车接受(小球落到地面后不能被接受)。<br />

请你计算出小车能接受到多少个小球。

Input

每个测试文件只包含一组测试数据,每组输入H,S1,V,L,K,n(1<=H,S1,V,L,K,n<=100000)。


Output

对于每组输入数据,输出小车能接受到的小球个数。


Examples

Input

5.0 9.0 5.0 2.5 1.8 5

Output

1

Solution C++

/*
题目大意:
思路:
*/
#include<map>
#include<set>
#include<stack>
#include<queue>
#include<cmath>
#include<string>
#include<cstdio>
#include <vector>
#include<cstring>
#include<sstream>
#include<cstdlib>
#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long
#define ul unsigned long long
#define inf 0x3f3f3f
#define esp 1e-8
#define pp printf("\n");
#define pn(a) printf("%d\n",a);
#define bug printf("mmp\n");
#define mm(a,b) memset(a,b,sizeof(a))
#define T() int test,q=1;scanf("%d",&test); while(test--)
const int maxn=2e6+10;
const double pi=acos(-1.0);
const int N=1001;
const int mod=1e9+7;
int main()
{
    double H,s1,v,l,k;
    int n;
    while(scanf("%lf%lf%lf%lf%lf%d",&H,&s1,&v,&l,&k,&n)!=EOF)
    {
        double tmax=sqrt(H/5);
        double tmin=sqrt((H-k)/5);
        int cnt=0;
        double x1=s1-v*tmax;
        double x2=s1-v*tmin+l;
        for(int i=0; i<n; i++)
        {
            if(i>=x1-0.00001&&i<=x2+0.00001)
                cnt++;
        }
        printf("%d\n",cnt);
    }
    return 0;
}

Time Limit 1 second
Memory Limit 125 MB
Discuss Stats
上一题 下一题