#P15516. [BalticOI 2007] Building a Fence (Day 2)

[BalticOI 2007] Building a Fence (Day 2)

说明

莱奥波德确实是个幸运的人。他刚刚在彩票中赢得了一块巨大的地产。这块地产除了主宅外,还有几座豪华建筑,他打算从今以后就住在主宅里。然而,这块地产缺少一个围栏来保护宅地免受非法入侵,这让莱奥波德非常担忧。他想修建一个围栏,为了节省开支,他决定只需要修建一个围住主宅的围栏,但有一个重要的限制:围栏不能靠近任何建筑物。具体来说,从上方看,每座建筑物都被一个禁止的矩形包围,在这个矩形内围栏的任何部分都不可以出现。矩形的边与 xx 轴和 yy 轴平行。围栏的每一部分也必须平行于 xx 轴或 yy 轴。

帮助莱奥波德计算围住主宅的最短允许围栏的长度。

图 1:主宅(黑色)和三座其他建筑物及其周围的禁止矩形。粗黑线表示围住主宅的最短允许围栏。

输入格式

输入的第一行包含一个正整数 m (1m100)m\ (1 \le m \le 100),表示地产的建筑数量。接下来有 mm 行,每行描述一个建筑物的禁止矩形。每行包含四个用空格分隔的整数 tx,ty,bx,bytx, ty, bx, by,其中 (tx,ty)(tx, ty) 为矩形左上角的坐标,(bx,by)(bx, by) 为矩形右下角的坐标。所有坐标满足 0tx<bx10,0000 \le tx < bx \le 10,0000ty<by10,0000 \le ty < by \le 10,000。第一个矩形是围住主宅的禁止矩形。

输出格式

输出包含一行,行内是一个正整数,表示围住主宅的最短允许围栏的长度。

4
8 4 13 8
2 1 6 7
4 7 9 11
14 7 19 11

32

提示

30%30\% 的测试用例中,满足 m10m \le 10

翻译来源:GPT 5.2。