题目名称 4376. [郑轻校赛 2026] 有人截图了!
输入输出 screenshot.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 64 MiB
测试数据 10
题目来源 GravatarChenBp 于2026-04-06加入
开放分组 全部用户
提交状态
分类标签
查看题解 分享题解
通过:1, 提交:2, 通过率:50%
GravatarRuyi 100 0.028 s 3.83 MiB C++
GravatarKKZH 0 0.027 s 3.68 MiB C++
本题关联比赛
2026郑轻校赛
关于 有人截图了! 的近10条评论(全部评论)

4376. [郑轻校赛 2026] 有人截图了!

★☆   输入文件: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