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;
}
HDU-1275-两车追及或相遇问题(数学题目)的更多相关文章
- HDU 1275 两车追及或相遇问题(相遇和追及公式)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1275 两车追及或相遇问题 Time Limit: 2000/1000 MS (Java/Others) ...
- hdu 1275 两车追及或相遇问题
思路:这里有2种情况: 一种是相遇:满足关系是 (va+vb)*t=L*(2*n-1) 一种是追及: 满足关系是 |va-vb|*t=L*(2*n-1) 这样求出2种情况的时间,在排序就可以了…… 链 ...
- 两车追及或相遇问题(hdu1275)数学题
两车追及或相遇问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- # 匈牙利算法(二分图最大匹配)- hdu 过山车
匈牙利算法(二分图最大匹配)- hdu 过山车 Hdu 2063 二分图:图中的点可以分成两组U,V,所有边都是连接U,V中的顶点.等价定义是:含奇数条边的图. 匹配:一个匹配是一个边的集合,其中任意 ...
- HDOU/HDU 2548 两军交锋(看你的思维~)
Problem Description 话说辽军与MCA相峙多年,终于在一个秋日的早晨爆发了一次大规模的冲突.情况是这样子的,当天上午,由耶律-Pacision领军的辽军忽然带领数万人马浩浩荡荡向MC ...
- hdu 1254(两个BFS) 推箱子
http://acm.hdu.edu.cn/showproblem.php?pid=1254 首先,要判断人是不是可以从4到达箱子的位置2,而且不止判断一次,因为推动箱子一步后,人的位置也会改变,所以 ...
- hdu 5072 两两(不)互质个数逆向+容斥
http://acm.hdu.edu.cn/showproblem.php?pid=5072 求n个不同的数(<=1e5)中有多少组三元组(a, b, c)两两不互质或者两两互质. 逆向求解,把 ...
- hdu——过山车(二分图,匈牙利算法)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- HDU 4617Weapon(两条异面直线的距离)
Weapon Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Sub ...
随机推荐
- nano编辑器的设置
1.取消nano的默认编辑 自己的虚拟机ubuntu不知道怎么搞的,在添加定时任务的时候总是 编辑,一开始不知道,百度了以下这个是所谓的nano,在定时任务的时候总是默认出来,自己习惯了vi,nano ...
- STM32开发指南-跑马灯实验
简单对I/O口的控制,主要通过对寄存器的读写控制.主要通过I/O的寄存器来控制:1. 控制I/O的方向2. 控制I/O的输出电平或上下来电阻3. 存储I/O口当前的输入状态(高低电平) 对使用LED灯 ...
- Android USER 版本与ENG 版本的差异--MTK官方解释
分类: Android(4) Description]Android USER 版本与ENG 版本的差异 [Keyword]USER ENG user eng 用户版本 工程版本 差异 [Solu ...
- hive第二篇----hive中partition如何使用
一.背景 1.在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念. 2.分区表指的是在创建表 ...
- ecos新命令
创建myapp,在myapp里创建lib/command目录 新建一个文件hello.php <?php /** * myapp_command_hello(myapp->app名称,co ...
- CodeForces 617E XOR and Favorite Number
莫队算法. #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> ...
- 哈夫曼树压缩C#算法(huffman)
算法原理:http://www.cnblogs.com/skywang12345/p/3706833.html. 上代码: using System; using System.Collections ...
- iOS开发——应用图标上显示消息数量
iOS8以前: UIApplication *app = [UIApplication sharedApplication]; app.applicationIconBadgeNumber = num ...
- js 日期控件laydate使用
官网 http://sentsin.com/layui/laydate/ 1. 下载官网上的压缩包,解压后只需要复制laydate 文件夹到你的项目中; 2. 在页面引入 <script t ...
- 静态方法List
public class Country { public static List<Country> CountryList = new List<Country> { new ...