传送门:http://codevs.cn/problem/3044/
这道题如果数据范围小而且是整数的话实际很简单,只需附加到坐标系中,暴力出被覆盖的格子即可
但是由于数据是小数而且很大,直接暴力显然不支持,于是就把行列坐标分别排序,然后按大小一一对应,换句话说把第k小的行坐标直接用k表示,然后暴力,最后求面积时在把点坐标反带回去算边长
详见代码
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,b[105][5];
double a[105][5],x[205],y[205],ans;
bool f[205][205];
void init(int n){
for (int i=1;i<=n;i++){
a[i][1]=a[i][2]=a[i][3]=a[i][4]=0;
b[i][