#include #include #include using namespace std; const int MAXN=1003; double y[2*MAXN]; struct Line { double x; double up,down; int mark; bool operator <(const Line a)const { return x=up||T[k].up<=down) return 0; if(T[k].isLeaf) { double s=0; if(T[k].cover>1) { double xx=T[k].x; s=(x-xx)*(T[k].up-T[k].down); } T[k].x=x; T[k].cover+=mark; return s; } double s1=insert(2*k+1,x,down,up,mark); double s2=insert(2*k+2,x,down,up,mark); return s1+s2; } int main() { int T,N; double area,x1,x2,y1,y2; scanf("%d",&T); while(T--) { area=0; scanf("%d",&N); for(int i=0,num=-1;i