题目大意:
在一个平面上有 n (1<=n<=50) 个矩形,给你左上角和右下角的坐标(0<=x<=10^6, 0<=y<=10^6)。问这些矩形将该平面划分为多少块。
解题思路:
由于n很小,可以对整个图进行压缩,只要不改变每条边的相对位置,对答案没有影响。
可以将这些矩形的坐标离散化,然后把边上的点标记一下。之后进行简单dfs即可。(注意离散化的时候,两条边之间至少要隔一个距离)
代码:
/*
ID: wuqi9395@126.com
PROG:
LANG: C++
*/
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<cmath>
#include&