首页 技术 正文
技术 2022年11月6日
0 收藏 853 点赞 1,022 浏览 3619 个字

Problem D. Delay Time Input file: standard input Output file: standard output Time limit: 1 second Memory limit: 512 megabytes Petr and Egor are measuring the gravitational acceleration g on their physics lessons using a special device. An electromagnetic trap holding a metal ball is installed on an arbitrary positive height chosen by the user. As soon as the button is pressed, the timer starts, the electromagnet turns off and the released ball falls on a table. The timer stops immediately when the ball touches the table. h Petr has set the height to h1 meters and got t1 seconds on the timer as a result of the experiment. In his turn Egor changed the height to h2 meters and got t2 seconds shown on the timer. While calculating the value of g they surprisingly got significantly different results, and asked a teacher to clarify the nature of this inconsistency. As it often happens with this sort of “mystery”, the solution was simple: there was a constant delay of d seconds between the start of the timer and the moment the ball actually starts to fall, caused by the time needed for the electromagnet to lose its grip on the ball. They quickly managed to determine this value from the given information and calculate the correct g. Can you manage to do this in five hours? Assume that the gravitational acceleration and the delay time are the same in both experiments. Air friction and other effects are considered negligible for the purpose of this experiment. When the ball with zero initial speed starts to fall affected only by the gravitational acceleration g, the distance it travels in t seconds is given by a well-known formula: ρ(t) = g · t 2 2 Input The first line of the input contains real values h1 and t1 — the height selected by Petr, in meters, and the time value he has measured, in seconds (0 < h1, t1 ≤ 10). The second line contains real values h2 and t2 — the values of height in meters and time in seconds for Egor’s experiment (0 < h2, t2 ≤ 10, h1 ̸= h2). All values in the input are given with no more than three digits after the decimal point. Page 5 of 17 ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 It is guaranteed that input data is consistent, that means that positive real g and d were used to generate the input. Output Output the value of electromagnet delay d in seconds. Your answer will be considered correct if its absolute or relative error doesn’t exceed 10−4 . Formally, if your answer is a and the jury’s answer is b, the checker will accept your answer if |a−b| max(1,b) ≤ 10−4 . Examples standard input standard output 1.495 2.009 7.674 2.708 1.456709 5 1.25 1.25 0.75 0.250000 Note In the first sample the gravitational acceleration g is approximately equal to 9.80246, while in the second sample it is 10. Note that g in the testset can vary arbitrarily and is not guaranteed to be related to the gravitational acceleration on the surface of any known planet.

题意:给出球的两次坠落高度,开始下落时间和球坠地的时间分别是H1,T1,H2,T2,但是测量有误差,求误差大小。

分析:暴力枚举误差。

 /**
Create By yzx - stupidboy
*/
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <iostream>
#include <algorithm>
#include <map>
#include <set>
#include <ctime>
#include <iomanip>
using namespace std;
typedef long long LL;
typedef double DB;
#define MIT (2147483647)
#define INF (1000000001)
#define MLL (1000000000000000001LL)
#define sz(x) ((int) (x).size())
#define clr(x, y) memset(x, y, sizeof(x))
#define puf push_front
#define pub push_back
#define pof pop_front
#define pob pop_back
#define ft first
#define sd second
#define mk make_pair inline int Getint()
{
int Ret = ;
char Ch = ' ';
bool Flag = ;
while(!(Ch >= '' && Ch <= ''))
{
if(Ch == '-') Flag ^= ;
Ch = getchar();
}
while(Ch >= '' && Ch <= '')
{
Ret = Ret * + Ch - '';
Ch = getchar();
}
return Flag ? -Ret : Ret;
} const DB EPS = 1e-;
DB h1, h2, t1, t2; inline void Input()
{
cin >> h1 >> t1 >> h2 >> t2;
} inline DB Sqr(DB x)
{
return x * x;
} inline DB Work(DB x)
{
DB g1 = 2.0 * h1 / Sqr(t1 - x);
DB g2 = 2.0 * h2 / Sqr(t2 - x);
return abs(g1 - g2);
} inline void Solve()
{
DB ret = 0.0, cnt = 1.0 * INF;
for(DB delay = 0.0; delay <= min(t1, t2) - EPS; delay += EPS)
{
DB delta = Work(delay);
if(cnt > delta)
cnt = delta, ret = delay;
}
printf("%.6lf\n", ret);
} int main()
{
//freopen("D.in", "r", stdin);
Input();
Solve();
return ;
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,085
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,560
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,409
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,182
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,819
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,902