比赛场次 746
比赛名称 2026郑轻校赛
比赛状态 已结束比赛成绩
开始时间 2026-04-07 18:00:00
结束时间 2026-04-07 20:00:00
开放分组 全部用户
组织者 HXF
注释介绍
题目名称 有人截图了!
输入输出 screenshot.in/out
时间限制 1000 ms (1 s)
内存限制 64 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分

1. 有人截图了!

★☆   输入文件:screenshot.in   输出文件:screenshot.out  
时间限制:1 s   内存限制:64 MiB

Problem A. 有人截图了!

小汪的屏幕上有一条线段,由两个端点 $A(ax, ay)$ 和 $B(bx, by)$ 确定。他想截取屏幕的一部分, 截屏区域是一个轴对齐的矩形,由两个对角顶点 $(x_1, y_1)$ 和 $(x_2, y_2)$ 给定(注意这两个点不一定为左上角和右下角,且坐标顺序可能任意)。

请你计算该线段落在矩形内部(含边界)的部分的长度。

Input

第一行包含四个整数 $ax, ay, bx, by$。

第二行包含四个整数 $x_1, y_1, x_2, y_2$。

注意:$x_1 \ne x_2$,$y_1 \ne y_2$,且所有坐标绝对值不超过 $10^4$。

Output

输出一个实数,表示线段被矩形截取的长度。

误差要求:

$$ \frac{|a-b|}{\max(1, |b|)} \le 10^{-4} $$

Example

样例输入1

0 0 10 10
2 2 8 8

样例输出1

8.48528137

样例输入2

-1 0 3 2
4 -1 0 5

样例输出2

3.35410197

样例输入3

0 0 0 1
0 0 2 2

样例输出3

1.00000000

Note

样例1:线段在矩形内部分为 $(2,2) \rightarrow (8,8)$,长度为 $6\sqrt{2}$。

样例2:线段在矩形内部分为 $(0,0.5) \rightarrow (3,2)$。

来源

郑州轻工业大学“筑梯杯”第十八届程序设计大赛暨省内高校邀请赛 A

数据:qiuyu