https://vjudge.net/problem/HDU-5925
/**
题意:一张最大1e9*1e9的图中,最多200个坏点,求连通块个数和大小
思路:二维坐标离散,
将相邻的空行压缩成一行,用数组记录该行表示的大小,
对列也是如此。
离散前需要加上边界,然后分别对横纵坐标离散化
vx[],vy[]分别记录每一行列代表的长度,用map映射离散后的行列数
注意:long long
以及题目要求的递增输出。
*/
#include<bits/stdc++.h>
#define T__ int T;scanf("%d",&T);while(T--)
#define lowbit(x) x&-x
#define mem(a,x) memset(a,(x),sizeof(a));
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
using namespace std;
typedef long long LL;
const int maxn=400+5;
int R,C,N;
struct point{
int x,y;}p[200+10];
int x[maxn],y[maxn];//n个点的坐标
int vx[ma