HDU-1275-两车追及或相遇问题(数学题目)
题目链接
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;
}
最新文章
- 自定义tld标签,页面使用
- SpringMVC文件上传实现
- Using Post_Query Trigger in Oracle Forms
- jmeter笔记8
- 第二百八十天 how can I 坚持
- C#之base关键字
- C# 客服端上传文件与服务器器端接收 (简单代码)
- POJ 3978 Primes(求范围素数个数)
- php添加扩展插件
- 【Netty】ChannelHandler和ChannelPipeline
- MAC下解决eclipse卡顿或者运行慢的问题
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
- Struts2学习笔记(二)——配置详解
- 对JVM虚拟机中方法区的理解
- 利用Github免费搭建个人主页(转)
- 与我们息息相关的internet服务(3)---电子邮件服务
- 关于git的一个错误提示
- 腾讯云Unbuntu服务器安装桌面环境
- 2016年3月12日Android学习笔记
- 状态 ajax
热门文章
- aapt: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64
- PKI 笔记
- PAT (Advanced Level) 1071. Speech Patterns (25)
- this.button1.Click += new System.EventHandler(this.button1_Click);
- MySQL5.7绿色版安装
- HTML之禁止输入文本
- Git 常用命令汇总
- 2016";百度之星"; - 资格赛(Astar Round1) Problem A
- ubuntu apache2 ssl配置
- IIS Default Web Site : The service did not response to the start or control request in a timely fashion