码迷,mamicode.com
首页 > 其他好文 > 详细

HDU-1275-两车追及或相遇问题(数学题目)

时间:2014-08-19 14:10:44      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:http   io   for   问题   amp   ef   sp   acm   

题目链接

http://acm.hdu.edu.cn/showproblem.php?pid=1275

 

这题是一个数学题目,知道两个公式那就好办了;

对头相遇时:time*(v1+v2)=d*(2*i-1)

追击相遇时:time*(fabs(v1-v2))= d*(2*i-1)

这两个公式是这题的难点!其他一切好说。

 

#include<stdio.h>
#include<math.h>
#define esp 1e-10

double time[2000];

int main(void)
{
int t,n,i,j,k;
double d,v1,v2,f,dist,p,q;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf%lf%d",&d,&v1,&v2,&n);
q=999999999;//为了以防f==0即v1==v2时那种情况;
j=k=1;
f=fabs(v1-v2);
for(i=1;i<=n;i++)
{
p=((2*j-1)*d)/(v1+v2);
if(f>esp)
{
q=((2*k-1)*d)/f;
}
if(p<q)
{
time[i]=p;
j++;
}
else
{
time[i]=q;
k++;
}
}
dist=time[n]*v1;
while(dist>=d)
{
dist=dist-d;
}
printf("Time=%.3lf Dist=%.3lf\n",time[n],dist<d-dist?dist:d-dist);
}
return 0;
}

 

HDU-1275-两车追及或相遇问题(数学题目),布布扣,bubuko.com

HDU-1275-两车追及或相遇问题(数学题目)

标签:http   io   for   问题   amp   ef   sp   acm   

原文地址:http://www.cnblogs.com/liudehao/p/3921782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!