传送门:

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

两车追及或相遇问题

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1769    Accepted Submission(s): 548

Problem Description
外号叫“猪头三”的小学生在数学课上,经常遇到两车相遇或追及的方程题,经过长时间的练习,他发现了许多规律,然而他不懂计算机,他想请你帮忙编写一个计算机程序,解决他的问题。
题目的描述是这样的:甲、乙两地相距L公里,A车的速度为VA公里/小时,B车的速度为VB公里/小时,A车和B车开始时分别在甲、乙两地,现在两车同时从甲、乙两地出发,并且开始计时,两车到达甲、乙两地后返回继续行驶,这样会有许多次追及或相遇的时候,我们假定称追及或相遇的时候为“重合”,请输出“重合”时的时间以及离甲、乙两地较近地的距离。
 
Input
本题有多个测试数据组,第一行为测试数据组数N,接着是N行数据,每行的数据按顺序分别为实数类型的距离、A车的速度、B车的速度以及整数类型的第几次“重合”的序号数(<=1000)。
 
Output
Time=xxxx.xxx Dist=xx.xxx输出的精度为精确到小数点后三位。
 
Sample Input
2
120.7 90.0 90.0 10
100.5 80.7 69.3 1
 
Sample Output
Time=12.741 Dist=60.350
Time=0.670 Dist=46.431
 
Author
Cai Minglun
 
Source
 
Recommend
 
分析:
 
    把它们追及和相遇的时间分别算出来,
    然后放到一起排个序,第n个时间就是第n次重合的时间
    相遇      (va+vb)*time=(2*n-1)L   (n=1,2,3.......)
    追及        fabs(va-vb)*time=(2*n-1)L   (n=1,2,3.......)
code:
#include<bits/stdc++.h>
using namespace std;
#define max_v 2050
double ans[max_v];
int main()
{
double va,vb,l,d;
int num,t,i,j;
scanf("%d",&t);
while(t--)
{
scanf("%lf %lf %lf %d",&l,&va,&vb,&num);
for(i=,j=;j<=;j++)
{
ans[i++]=(2.0*j-1.0)*l/(va+vb);//相遇
if(va!=vb)//避免除0
{
ans[i++]=(2.0*j-1.0)*l/(fabs(va-vb));//追及
}
}
sort(ans,ans+i);
d=ans[num]*va;
while(d>l)//因为是往复运动
{
d-=l;
}
d=min(d,l-d);
printf("Time=%0.3lf Dist=%0.3lf\n",ans[num],d);
}
return ;
}

HDU 1275 两车追及或相遇问题(相遇和追及公式)的更多相关文章

  1. hdu 1275 两车追及或相遇问题

    思路:这里有2种情况: 一种是相遇:满足关系是 (va+vb)*t=L*(2*n-1) 一种是追及: 满足关系是 |va-vb|*t=L*(2*n-1) 这样求出2种情况的时间,在排序就可以了…… 链 ...

  2. 两车追及或相遇问题(hdu1275)数学题

    两车追及或相遇问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  3. # 匈牙利算法(二分图最大匹配)- hdu 过山车

    匈牙利算法(二分图最大匹配)- hdu 过山车 Hdu 2063 二分图:图中的点可以分成两组U,V,所有边都是连接U,V中的顶点.等价定义是:含奇数条边的图. 匹配:一个匹配是一个边的集合,其中任意 ...

  4. HDOU/HDU 2548 两军交锋(看你的思维~)

    Problem Description 话说辽军与MCA相峙多年,终于在一个秋日的早晨爆发了一次大规模的冲突.情况是这样子的,当天上午,由耶律-Pacision领军的辽军忽然带领数万人马浩浩荡荡向MC ...

  5. hdu 1254(两个BFS) 推箱子

    http://acm.hdu.edu.cn/showproblem.php?pid=1254 首先,要判断人是不是可以从4到达箱子的位置2,而且不止判断一次,因为推动箱子一步后,人的位置也会改变,所以 ...

  6. hdu 5072 两两(不)互质个数逆向+容斥

    http://acm.hdu.edu.cn/showproblem.php?pid=5072 求n个不同的数(<=1e5)中有多少组三元组(a, b, c)两两不互质或者两两互质. 逆向求解,把 ...

  7. hdu——过山车(二分图,匈牙利算法)

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  8. HDU 4617Weapon(两条异面直线的距离)

    Weapon Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Sub ...

  9. HDU 4526 拼车记

    话说威威猫有一次去参加比赛,虽然学校离比赛地点不太远,但威威猫还是想坐出租车去.大学城的出租车总是比较另类,有“拼车”一说,也就是说,你一个人坐车去,还是一堆人一起,总共需要支付的钱是一样的(每辆出租 ...

随机推荐

  1. Java String、string[]、List初始化方法

    String初始化: 1.String str = new String("string1"); 2.String str = "string1"; Strin ...

  2. PAT 1071. Speech Patterns

    又是考输入输出 #include <cstdio> #include <cstdlib> #include <string> #include <vector ...

  3. async await基本使用

    //——<ES6经典入门到进阶>牧码人-Strive 学习笔记//express示例 const fs = require('fs'); //简单封装 fs封装成一个promise con ...

  4. git自动更新网站代码

    1.实现过程在linux上安装git服务.创建源版本库.从源版本库克隆得到网站目录,然后利用git中的hooks机制,在git push推送代码到源版本库的时候,触发编写的shell脚本,更新网站目录 ...

  5. MySQL数据库(2)----检索信息

    SELECT 语句的简化语法如下: SELECT what to retrive FROM table or tables WHERE conditions that data must satisf ...

  6. WebService性能测试

    什么是WebService?(本文也会在最下面通俗的介绍) 这里给一个站内大哥的讲解:http://www.cnblogs.com/Leo_wl/archive/2010/05/20/1740205. ...

  7. Android Animation 知识点速记备忘思维导图

    备注的大段文本,无法在图片中体现, 思维导图源文件放在附件中.使用 Xmind 8 制作. 附件:AndroidAnimation-xmind.zip

  8. 搭建git远程仓库

    基于本地协议搭建git远程仓库 1.任意目录下执行git init -bare创建裸仓库,建议目录名称以.git结尾 2.共享此目录,windows下右键裸仓库目录,切换到共享面板设置完成即可获取共享 ...

  9. bitekind

    xrp这个人到SNT家坐在IOST的椅子上,喝着THETA. 武之巅峰,是孤独,是寂寞,是漫漫求索,是高处不胜寒    逆境中成长,绝地里求生,不屈不饶,才能堪破武之极道.    凌霄阁试炼弟子兼扫地 ...

  10. android启动应用

    private void openApp(String packageName) { PackageInfo pi = getPackageManager().getPackageInfo(packa ...