博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu-5112-A Curious Matt
阅读量:5144 次
发布时间:2019-06-13

本文共 2352 字,大约阅读时间需要 7 分钟。

 

A Curious Matt

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


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 t
i and x
i (0 ≤ t
i, x
i ≤ 10
6), 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 t
i 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.
 

Source

解题思路:水题

 

 1 #include <stdio.h>
 2 #include <math.h>
 3 #include <stdlib.h>
 4 #include <
string.h>
 5 
 6 
struct P{
 7     
double t;
 8     
double x;
 9 }p[
10010];
10 
11 
int cmp(
const 
void *a, 
const 
void *b){
12     
struct P *c = (
struct P *)a;
13     
struct P *d = (
struct P *)b;
14     
return c->t > d->t ? 
1 : -
1;
15 }
16 
17 
int main(){
18     
int t, n, i;
19     
double ans, dis;
20     
int Case = 
1;
21     scanf(
"
%d
", &t);
22     
while(t--){
23         memset(p, 
0
sizeof(p));
24         scanf(
"
%d
", &n);
25         
for(i = 
0; i < n; i++){
26             scanf(
"
%lf %lf
", &p[i].t, &p[i].x);
27         }
28         qsort(p, n, 
sizeof(p[
0]), cmp);
29         ans = 
0;
30         
for(i = 
1; i < n; i++){
31             dis = fabs((p[i].x - p[i - 
1].x) / (p[i].t - p[i - 
1].t));
32             
if(dis > ans){
33                 ans = dis;
34             }
35         }
36         printf(
"
Case #%d: %.2lf\n
", Case++, ans);
37     }
38     
return 
0;

39 } 

 

转载于:https://www.cnblogs.com/angle-qqs/p/4135883.html

你可能感兴趣的文章
JavaScript语言中文参考手册.chm
查看>>
表哥的Access入门++以Excel视角快速学习数据库知识pdf
查看>>
TC 配置插件
查看>>
关于异步reset
查看>>
索引优先队列的工作原理与简易实现
查看>>
并发编程简介
查看>>
基于K-近邻分类算法的手写识别系统
查看>>
使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象
查看>>
PC站跳转M站的方法
查看>>
wow 各职业体验(pvp)
查看>>
Streaming的receiver模式
查看>>
[转载]一个人的失败,99%失败于“脾气”
查看>>
【Nowcoder】玩游戏
查看>>
过滤器(Filter)
查看>>
字符串的操作
查看>>
性能优化之Java(Android)代码优化
查看>>
springMVC相关—文件上传
查看>>
由Oracle 11g SYSAUX 和 SYSTEM 表空间回收引发的联想
查看>>
uva 1416 Warfare And Logistics
查看>>
欲则不达
查看>>