数学题 追及相遇—HDOJ1275 人傻需要多做题

两车追及或相遇问题

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

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

我们注意到重合序号最多一千 即相遇最多1000次 追击也1000次

我们可以考虑相遇 第一次相遇 两者直接碰面 时间L/(a+b)

第一次追及 L/|a-b|

下一次相遇或追击两者路程相差L的倍数

而下一次相遇和追击 方向保持初始追击/相遇的状态

当多走L的偶数倍时 AB方向保持初始追击/相遇的状态

故重合时间 总是(2*i+1)*L/(a+b)或者(2*i+1)*L/|a-b|

#include<cstdio>
#include<map>
//#include<bits/stdc++.h>
#include<vector>
#include<stack>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<cstdlib>
#include<climits>
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
typedef __int64 int64;
const ll mood=1e9+7;
const int64 Mod=998244353;
const double eps=1e-9;
const int N=2e7+10;
const int MAXN=2005;
typedef int rl;
inline void r(rl&num){
    num=0;rl f=1;char ch=getchar();
    while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘)f=-1;ch=getchar();}
    while(ch>=‘0‘&&ch<=‘9‘)num=num*10+ch-‘0‘,ch=getchar();
    num*=f;
}
double L,a,b;int ci;
void init()
{
    scanf("%lf%lf%lf%d",&L,&a,&b,&ci);
}
double t[MAXN];
int main()
{
    int T;
    r(T);
    while(T--)
    {
        init();
        double tem=fabs(a-b),te=a+b;
        for(int i=0;i<1000;i++)
        {
            t[2*i]=(2*i+1)*L/tem;
            t[2*i+1]=(2*i+1)*L/te;
        }
        sort(t,t+2000);
        double x=t[ci-1];
        double y=t[ci-1]*a;
        y-=floor(y/L)*L;
        y=min(y,fabs(L-y));
        printf("Time=%.3f Dist=%.3f\n",x,y);
    }
    return 0;
}

时间: 2024-12-13 01:56:46

数学题 追及相遇—HDOJ1275 人傻需要多做题的相关文章

保利尼奥离中超如肖申克救赎 没人再说人傻钱多

保利尼奥离中超如肖申克救赎 没人再说人傻钱多 新浪综合 | 2017-08-15 00:16 文章来源:明说 今夜,"暴力鸟"终于还是飞走了. 我第一时间想到的,是电影肖申克救赎里,Redd在谈到Andy的越狱时,稍稍带有些不甘,又衷心为Andy高兴的一句话: "Some birds are not meant to be caged, their feathers are just too bright." 有些鸟是无法关在笼子里的,它的每一片羽毛都闪耀着自由的光

人傻钱多死得快的程序员

都说程序员是人傻钱多死得快,那么这真的是这样吗? 人傻 这个"傻"指的是,有些程序猿们,情商比较低,又或是为人比较老实憨厚,想想每天8-12小时都在电脑前坐着,看着一堆堆的字母敲代码,解决一个又一个bug,人品大部分都是比较靠谱的.也因此,没有女朋友咯~~这个"傻"其实是褒义词.智商方面起码在中上等水平,工作3-5年以上的程序员,每天敲代码会锻炼自己的逻辑思维能力和解决问题的能力及考虑事情能做到未雨绸缪把控全局的能力,因为程序和人生一样,就是面对各种条件的判断和选择

谈一谈让人傻傻分不清的1G,2G,3G,4G……

浅谈让人傻傻分不清的1G,2G,3G,4G-- 虽然大学里学过计算机网络,平时也总是看网上不停的喷着1G,2G,3G,4G到底是啥,但总觉得隔靴搔痒,看不出其本质区别,我不想详解其中的又臭又长的关键技术,就从大家能看明白的概念上说一说这些不同代网络技术的区别. 先从概念和区别说起 1G:没啥好说的,估计是有了后来的2.3G,才想起称呼原来的为1G.1G采用FDMA(模拟和频分多址技术),可实现区域的移动性服务,代表是第一代模拟制式手机,大哥大,通话锁定在一定频率,使用可调频电台就可以窃听电话,保

钱多,人傻,快来快来

本文如果有任何不洽的地方,请多多见谅,如果置顶首页有觉得不适,请留言,我马上撤下.谢谢! 最近几年,随着互联网快速发展,呈现一片大好发展.电子商务,O2O等进入一大批资金,而这些企业目前来说只看到一个暴富,再暴富,而背后的辛苦经营.市场的开拓.流量的增加都没有明确的规划,进入一批,要么关门一批或更改行业最初目标,直到最后资金撑不住,关门数不胜数. 昨天去面试了一家公司,面试官说了,流量以及业务模式,市场的开拓是老板的决策的事情.可是我想从则一方面说:如果一个企业,将决策推向高层,那么这些高层一定

据说,情商高的人,都这样做流程管理……

都说流程人是处女座.细节控.强迫症......其实他们不止有这些优(毛)点(病),他们还思想先进,有变革之心,有大局观念,人际交往能力强--总之,情商高啊!! 不信?看看下面这个流程冲突,你就知道能搞定一个公司流程的人是有多牛逼! 在一次高管会议上,领导们又在为一个重要产品的缺货情况争执不休: 总经理: xx产品为什么又出现市场缺货同时仓库爆仓的情况?爆仓为什么还缺货! 财务总监:有些库存已经积压一年了,我们的现金流快要出问题了. 供应链/采购总监:销售部和市场部根本没有把他们的产品需求告诉我们

教人切掉乳房做女强人,是变态还是变态

鼓动要做女强人就切子宫 据介绍,东莞蒙正国学馆开办的“女德班”,要求学员开课前要向馆长叩拜.其倡导的“女德”四项基本原则是“打不还手,骂不还口,逆来顺受,绝不离婚”,还鼓动女学员称“如果要做女强人,就得切掉子宫.切除乳房,放弃所有女性特点”. 据了解,该“女德班”每年举办12期,每期约50人,全天学习,一期一周时间,最新一期的“女德班”是9月2日才开课的. 责令停办学员将尽快遣散 经查,该蒙正国学馆的主办机构位于东莞市青山工业园内,工商登记经营范围为展览.庆典活动.文化演出等,但目前主要的业务为

The New Starting --记校赛智商被碾压

To do List: 要提高效率 要刷些有意义的题 为提升代码能力,先做HDU的100道水题,并且力求短时间有思路 半小时能写出来 把贪心,DP,数据结构专题的题目补完 适当做一些div2(提升自己的现场应对能力 每周末要补div2 的 a b c    提升接触新姿势的能力 做题后一定要写题解,提升表述算法的能力. 写题以后大概写一下题解,这样算是一种变相的督促,也是一种总结吧 每学会一个新的技能之后应及时向记录(万一以后用到了呢  还有能科普的话  不久更好了么 抓紧复习节奏,要变强,要学

过去的2015

过去的2015这一年,感觉非常漫长,发生了好多好多的事情. 1月,翻译某道POI的时候被lavendir发现不是BZOJ权限用户,结果他居然把权限免费送给了我!打开了新世界的大门. 2月,寒假写完作业无聊着没事干,随便切了几道水题,被家长发现,“离高考只有几个月了,要安心学习”,于是家长就开始监控我的提交记录. 3月,感受到了高三下生活的艰难,每天一考.同时听说了王主力ZJOI写暴力AC的故事. 4月,每天切两套理综题,结果有一天晚上梦里眼前全是理综题,然后吐了,被送进了医院.为何切算法题就没有

【ACM】魔方十一题

0. 前言打了两年的百度之星,都没进决赛.我最大的感受就是还是太弱,总结起来就是:人弱就要多做题,人傻就要多做题.题目还是按照分类做可能效果比较好,因此,就有了做几个系列的计划.这是系列中的第一个,解决OJ中有关魔方的问题. 1. 概述魔方大概会涉及两类算法:搜索和模拟.这里的搜索方式一般是双广或者bfs+剪枝,因为双广基本上就可以把题目都解了,所以我也没去考虑A*.我自身不会玩儿魔方,因此剪枝策略也就两种,不过效果还是很好的.模拟就相对简单,仅需要了解几种旋转的方式基本上是可解.搜索过程中存在