#P15840. [蓝桥杯第一届国际赛] 材料切割

    ID: 19913 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>计算几何2017蓝桥杯国赛

[蓝桥杯第一届国际赛] 材料切割

题目描述

材料切割是工业制造中重要的一步,为了准确的切割,一般都需要编程控制切割机。切割机的控制指令由很多画直线的命令组成,每个命令可以在材料上切割出一条线段。

作为切割机的工程师,小明想知道,经过一系列切割机的控制命令后,材料上被切割下来的部分的面积总和是多少。切割过程中保证任意三条线段没有公共点。

输入格式

输入的第一行包含一个整数 nn,表示控制指令的条数。

接下来 nn 行,每行 44 个整数 x1,y1,x2,y2x_1, y_1, x_2, y_2,表示一条控制指令,该控制指令表示在 (x1,y1)(x_1, y_1) 和 (x2,y2)(x_2, y_2) 之间切出一条直线段。

输出格式

输出一行,包含一个实数,小数点后保留两位数字,表示从材料上被切割下来的部分的面积。

请注意被切割下来的可能不是一个整块,有的切割指令切割完后不会使得切割的部分从材料中掉下来,只有那些完全从材料上切断的部分才会算作被切割下来。

5
9 5 2 3
4 6 3 3
2 5 2 9
4 3 2 8
3 0 1 7
0.33

提示

样例仅为示例。真实测试数据保证 1≤x1,y1,x2,y2≤10001 \le x_1, y_1, x_2, y_2 \le 1000。

评测用例规模与约定

对于 10%10\% 的评测用例,n≤4n \le 4;

对于 30%30\% 的评测用例,n≤10n \le 10;

对于 50%50\% 的评测用例,n≤50n \le 50;

对于 70%70\% 的评测用例,n≤100n \le 100;

对于所有评测用例,1≤n≤3001 \le n \le 300,1≤x1,y1,x2,y2≤10001 \le x_1, y_1, x_2, y_2 \le 1000,任意三条线段不共点。