zoukankan      html  css  js  c++  java
  • hdoj 5112 A Curious Matt

    A Curious Matt

    Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others)
    Total Submission(s): 1338    Accepted Submission(s): 735


    Problem Description
    There is a curious man called Matt.

    One day, Matt's best friend Ted is wandering on the non-negative half of the number line. Matt finds it interesting to know the maximal speed Ted may reach. In order to do so, Matt takes records of Ted’s position. Now Matt has a great deal of records. Please help him to find out the maximal speed Ted may reach, assuming Ted moves with a constant speed between two consecutive records.
     
    Input
    The first line contains only one integer T, which indicates the number of test cases.

    For each test case, the first line contains an integer N (2 ≤ N ≤ 10000),indicating the number of records.

    Each of the following N lines contains two integers ti and xi (0 ≤ ti, xi ≤ 106), indicating the time when this record is taken and Ted’s corresponding position. Note that records may be unsorted by time. It’s guaranteed that all ti would be distinct.
     
    Output
    For each test case, output a single line “Case #x: y”, where x is the case number (starting from 1), and y is the maximal speed Ted may reach. The result should be rounded to two decimal places.
     
    Sample Input
    2
    3
    2 2
    1 1
    3 4
    3
    0 3
    1 5
    2 0
     
    Sample Output
    Case #1: 2.00
    Case #2: 5.00
    Hint
    In the first sample, Ted moves from 2 to 4 in 1 time unit. The speed 2/1 is maximal. In the second sample, Ted moves from 5 to 0 in 1 time unit. The speed 5/1 is maximal.
     
     
    时间长不编题真的不行了  一道水题花好长时间..........................
    题意:给你一个人 在一些时刻的位置,让你求出这个人所能达到的最大速度。
     
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #include<math.h>
    #define MAX 10100
    #define DD double
    using namespace std;
    struct node
    {
    	int time,pos;
    }s[MAX];
    bool cmp(node a,node b)
    {
    	return a.time<b.time;
    }
    int main()
    {
    	int t,n,m,i,j,k;
    	scanf("%d",&t);
    	k=0;
    	while(t--)
    	{
    		scanf("%d",&n);
    		DD sum=0,ans=0;
    		for(i=0;i<n;i++)
    		    scanf("%d%d",&s[i].time,&s[i].pos);
    		sort(s,s+n,cmp);
    		for(i=0;i<n-1;i++)
    		{		
    		    DD sum=(s[i+1].pos-s[i].pos)*1.0/(s[i+1].time-s[i].time);
    			ans=max(fabs(sum),ans);
    		}
    		printf("Case #%d: %.2lf
    ",++k,ans);
    	}
    	return 0;
    } 
    

      

  • 相关阅读:
    Douglas-Peucker 轨迹压缩算法
    Marching squares 算法 获取轮廓(contour tracing)
    创建Mesh->格子地图转NavMesh->可破坏墙壁
    StretchedBillboard 实现
    程序员的微创业
    买云服务器有推荐吗?国内知道有腾讯云、阿里云...等等,不知道该选哪个好了,另外优惠吗?
    我的阿里云5年
    2021阿里云、腾讯云、华为云、滴滴云评测比较
    终于找到可以一文多发的平台了!
    2019年最新阿里云主机优惠购买指南
  • 原文地址:https://www.cnblogs.com/tonghao/p/4888002.html
Copyright © 2011-2022 走看看