线段的交
题号:NC220476
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

给出两条线段,如果有相交求四点围成的四边形面积,否则输出零

输入描述:

输入共四行,每行给出一个坐标,前两行代表第一条线段,后两行代表第二条线段
每行座标都包含了两个实数,所有的座标皆满足 ,数值固定精准到小数点下第三位。 
输入保证,四个座标一定两两相异,不会有任何一个坐标在另两个坐标的连线上。

输出描述:

在一行中输出一个非负实数表示面积,输出的答案与正确答案误差在  内皆视为正确
示例1

输入

复制
2.000 0.000
-1.000 0.000
0.000 1.000
0.000 -1.000

输出

复制
3.0000000
示例2

输入

复制
24.152 31.428
13.505 17.779
14.240 32.285
22.130 12.326

输出

复制
160.0970415000
示例3

输入

复制
1.500 1.500
1.500 -1.500
-1.500 -1.500
-1.500 1.500

输出

复制
0