SGU[144] Meeting

Description

描述

Two of the three members of the winning team of one of the ACM regional contests are going to meet in order to train for the upcoming World Finals. They decided that they will meet sometime between X o'clock and Y o'clock. Because they never get anywhere on time (they were late even on the day of the regional contest), they did not set an exact time when they will meet. However, they decided that the one who gets first at the meeting point will not wait more than Z minutes for the other one (they calculated that, if the other one will not come within Z minutes from the arrival of the first of them, then it is very probable that he will not show up at all). 

某个ACM区域赛胜出队伍中的两名成员准备碰头进行训练,为接下来的World Final做准备。他们决定在X点钟和Y点钟之间碰头。因为他们从来不会准时的出现在任何地点(他们甚至在区域赛当天也迟到了),他们决定不设置一个精确的相遇时间,同时决定谁先到达碰头地点将不会等待另外一个人超过Z分钟(他们认为,如果对方不会在Z分钟之内出现,那么对方将不会再出现)。

Knowing that, in the end, both of them will show up at some time between X o'clock and Y o'clock (not necessarily after an integer number of minutes), compute which is the probability that they will actually meet.

同时,我们知道他们一定会在在X点和Y点之间出现(不一定是某个整数分钟的时间点),计算他们相遇的概率。

 

Input

输入

The input will contain 2 integer numbers X and Y (0<=X<Y<=24) and one real number Z ( 0 < Z <= 60*(Y-X) ).

输入包含2个整数X和Y(0 <= X < Y <= 24)以及一个实数Z(0 < Z <= 60 * (X - Y))。


Output

输出

You should output the required probability with 7 decimal digits (rounded according to the 8th decimal digit).

你去要输出他们相遇的概率,保留7位小数(第8位小数四舍五入)。


Sample Input

样例输入

11 12 20.0


Sample Output

样例输出

0.5555556

 

Analysis

分析

这是一道纯粹的数学概率题,我们可以进行公式推导。

首先我们需要统一单位,将X和Y均以分钟为单位;其次,我们以X点钟为计时零点;接下来做出这样一张图:

根据上图,我们可以知道相遇的概率为中间六边形的面积,即P = SA / S,由于SA求解起来比较困难,我们可以转换为计算总面积减去两个三角形的面积。因此,答案为P = 1 - (Y - X - Z) ^ 2 / (Y - X)^2。

 

Solution

解决方案

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
	ios::sync_with_stdio(false);
	double X, Y, Z;
	while(cin >> X >> Y >> Z)
	{
		X *= 60; Y *= 60; Y -= X;
		cout << fixed << setprecision(7) << 1 - (Y - Z) * (Y - Z) / (Y * Y) << endl;
	}
	return 0;
}

这道题目主要考察数学中的概率知识。

原文地址:https://www.cnblogs.com/Ivy-End/p/4668595.html