编程介的小学生 2017-01-01 11:36 采纳率: 20.5%
浏览 854
已采纳

Parabolic teleports

Description

Flatland is a plane with a Cartesian coordinate system Oxy. Citizens of Flatland are points that move with the speed 1. Consequently, the minimal time it takes for a Flatlander to move from point V to point W is equal to the length of the line segment VW. This fact is taught in the schools of Flatland as the “shortest path theorem”.

However, since George Edward Nius invented the devices called parabolic teleports, the theorem no longer holds. A parabolic teleport is a contiguous section of a parabola along which it is possible to move with infinite speed. In other words, it is possible to move from any point on the parabolic teleport to any other point on the same parabolic teleport in zero time.

The points (x, y) that belong to the teleport are given by the formulae y = A·x2+B·x+C, XL ≤ x ≤ XR, where A, B, C, XL, XR are the parameters of the teleport.

After inventing the teleports, G.E.Nius founded a company to build them. At the moment, the company has already built N of those devices. One might imagine that they are shoveling money left and right, but…

But in practice, the Flatlanders still think the shortest path theorem is true and nobody has even tried the parabolic teleports. To help the situation, G.E.Nius has hired you to write a program that, given two points V and W, would compute the time it would take to move from V to W using the teleports the company has already built. The idea is that the users of the program will see that the time is less than the length of the segment VW and start to use the invention of Mr. Nius.

Are you up to the task?

Input

On the first line of the file is the integer N (0 ≤ N ≤ 100), the number of the teleports. On the second line of the file are the integers XV and YV (−100 ≤ XV ≤ 100, −1 000 000 ≤ YV ≤ 1 000 000), the coordinates of the source point V. On the third line of the file are the integers XW and YW (−100 ≤ XW ≤ 100, −1 000 000 ≤ YW ≤ 1 000 000), the coordinates of the destination point W.

Each of the N following lines contains 5 integers, separated by spaces, that describe the ith teleport – giving its parameters Ai, Bi, Ci, XLi, XRi (‑100 ≤ Ai, Bi, Ci ≤ 100, Ai ≠ 0, −100 ≤ XLi < XRi ≤ 100).

Output

The first and only line of the file should contain one real number, the minimal time it takes to move from point A to point B. The absolute error of the answer must not exceed 10−4.

Sample Input

2
0 10
0 -10
1 0 0 -10 10
-1 0 0 -10 10
Sample Output

6.2450

  • 写回答

1条回答

  • threenewbee 2017-01-01 11:34
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?