hdu2478 Slides

来源:互联网 发布:文都网络 编辑:程序博客网 时间:2024/06/05 04:17
预处理。
#include<cstdio>#include<cstring>#include<string.h>#include<algorithm>#include<iostream>using namespace std;const int inf=0x7fffffff;const int maxn=100005;int x1[maxn],x2[maxn],y1[maxn],y2[maxn];void insertmin(int a[2],int x){if(x<a[0])swap(x,a[0]);if(x<a[1])swap(x,a[1]);}void insertmax(int a[2],int x){if(x>a[0])swap(x,a[0]);if(x>a[1])swap(x,a[1]);}int exclude(int a[2],int x){if(a[0]!=x)return a[0];return a[1];}int main(){int casen;scanf("%d",&casen);while(casen--){int left[2]={-inf,-inf};int right[2]={inf,inf};int bottom[2]={-inf,-inf};int top[2]={inf,inf};int n;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d%d%d%d",&x1[i],&y1[i],&x2[i],&y2[i]);insertmax(left,x1[i]);insertmin(right,x2[i]);insertmax(bottom,y1[i]);insertmin(top,y2[i]);}if(n==1){printf("0\n");}else{int ret=0;for(int i=0;i<n;i++){int dx=exclude(right,x2[i])-exclude(left,x1[i]);if(dx<0)dx=0;int dy=exclude(top,y2[i])-exclude(bottom,y1[i]);if(dy<0)dy=0;ret=max(ret,dx*dy);}printf("%d\n",ret);}}return 0;}

原创粉丝点击