AT_icpc2013summer_warmingUp_i Topology

题目描述

KM 发现,对于某些几何问题来说,洞的数量非常重要。他希望计算各种图形中的洞的数量。为了简化问题,他假设这些图形是由一些单位正方形组成的,这些正方形的顶点都在格点上。 当正方形数量较少时,他可以自己计算。但当数量很大时,他无法手算,于是请你——他的朋友,也是优秀的程序员——用计算机来解决这个问题。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_icpc2013summer_warmingUp_i/c17d43c6db7c985b8cb351fe3f206176e2a0437f.png) 图 1:洞 一个“洞”指的是在移除所有正方形后,剩下的有界连通分量。当两个分量共享某些边时,认为它们是连通的。 输入的第一行为 $N$($1 \leq N \leq 10^5$),表示正方形的数量。 接下来的 $N$ 行,每行用两个整数 $X$ 和 $Y$($|X|, |Y| \leq 10^9$)描述一个正方形,$X$ 和 $Y$ 分别表示正方形左下角的坐标。可以保证任意两个坐标都不同。 请输出该图形中洞的数量。 ``` 4 0 0 1 -1 2 0 1 1 ``` ``` 1 ``` ``` 16 1 0 3 0 5 0 0 1 2 1 4 1 1 2 3 2 4 2 1 3 5 3 0 4 1 4 2 4 4 4 3 5 ``` ``` 3 ```

输入格式

第一行包含一个整数 $N$,表示正方形的数量。 接下来的 $N$ 行,每行包含两个整数 $X$ 和 $Y$,表示一个正方形左下角的坐标。

输出格式

输出一个整数,表示该图形中洞的数量。

说明/提示

无。 由 ChatGPT 4.1 翻译