记录编号 |
195920 |
评测结果 |
AAAAA |
题目名称 |
[NOIP 2002]自由落体 |
最终得分 |
100 |
用户昵称 |
liu_runda |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.001 s |
提交时间 |
2015-10-20 10:51:20 |
内存使用 |
0.29 MiB |
显示代码纯文本
#include<cstdio>
#include<cmath>
using namespace std;
double h,s1,v,l,k;
int n;
bool touched(int num){
double t1=0;
if(h>k)
t1 = sqrt(0.2*(h-k));//小球落到与车顶同一高度用时
double d1 = l+s1-t1*v;//到车顶高度车尾位置
double t2 = sqrt(0.2*h);//落地用时
double d2 = s1-t2*v;//落地时车头位置
if(d1>=num&&d2<=num)return true;
else return false;
//若可接受,t1-t2内小车经过num处
}
int main(){
freopen("freefaller.in","r",stdin);freopen("freefaller.out","w",stdout);
int sum = 0;
scanf("%lf %lf %lf %lf %lf %d",&h,&s1,&v,&l,&k,&n);
s1-=0.00001;l+=0.00002;k+=0.00001;//调整初始数据,标准改为与小车接触
for(int i = 0;i<n;++i){
if(touched(i))sum++;
}
printf("%d",sum);
fclose(stdin);fclose(stdout);
return 0;
}