#125. 「Picture」 海报

「Picture」 海报

墙上粘贴了n个相同形状的矩形海报。

它们的边都是垂直或水平的。

每个矩形可以被其他矩形部分或完全覆盖。

所有矩形的并集边界的长度称为周长。

现在请你编程计算这个周长是多少。

图1显示了一个包含7个矩形的图形样例:

1177_1.jpg

图2给出了它的并集边界:

1177_2.jpg

每个矩形的顶点都有一个整数坐标。

输入格式

第一行输入整数n,表示矩形的数量。

接下来n行,每行四个整数x_1,y_1,x_2,y_2x\_1,y\_1,x\_2,y\_2用以描述一个矩形,(x_1,y_1)(x\_1,y\_1)为矩形的左下角坐标,(x_2,y_2)(x\_2,y\_2)为矩形的右上角坐标。

输出格式

输出一个整数,表示矩形并集的周长。

数据范围

0n<50000 \le n < 5000,
10000x_i,y_i10000-10000 \le x\_i,y\_i \le 10000

输入样例:

7
-15 0 5 10
-5 8 20 25
15 -4 24 14
0 -6 16 4
2 15 10 22
30 10 36 20
34 0 40 16

输出样例:

228

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解