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

图 1:主宅(黑色)和三座其他建筑物及其周围的禁止矩形。粗黑线表示围住主宅的最短允许围栏。
输入格式
输入的第一行包含一个正整数 $m\ (1 \le m \le 100)$,表示地产的建筑数量。接下来有 $m$ 行,每行描述一个建筑物的禁止矩形。每行包含四个用空格分隔的整数 $tx, ty, bx, by$,其中 $(tx, ty)$ 为矩形左上角的坐标,$(bx, by)$ 为矩形右下角的坐标。所有坐标满足 $0 \le tx < bx \le 10,000$ 和 $0 \le ty < by \le 10,000$。第一个矩形是围住主宅的禁止矩形。
输出格式
输出包含一行,行内是一个正整数,表示围住主宅的最短允许围栏的长度。
说明/提示
在 $30\%$ 的测试用例中,满足 $m \le 10$。
翻译来源:GPT 5.2。