admin管理员组

文章数量:1612099

题意:

有个人在数轴上跑步,已知他在某些时间点时的位置,求他的最大速度。

思路:

按时间sort然后依次处理即可

代码:

#include <bits/stdc++.h>
using namespace std;
const int MAXN=1e6+10;
typedef struct Node{
    double t,x;
    bool operator < (const Node a)const{
        return t<a.t;
    }
}Node;
Node a[MAXN];
int main(){
    int T,n;
    scanf("%d",&T);
    for(int Case=1;Case<=T;Case++){
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            scanf("%lf%lf",&a[i].t,&a[i].x);
        }
        sort(a,a+n);
        double ans=fabs((a[1].x-a[0].x))/(a[1].t-a[0].t);
        for(int i=2;i<n;i++){
            ans=max(ans,fabs((a[i].x-a[i-1].x))/(a[i].t-a[i-1].t));
        }
        printf("Case #%d: %.2lf\n",Case,ans);
    }
}


本文标签: hducurious水题Matt