标签:
问有没有一个矩形能覆盖所有的矩形。。
显然记录一下左下端点x,y的最小值,和右上端点x,y的最大值。然后看是否有一个矩形全是最值。
1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 const int maxn=100233,inf=1e9+233; 7 int x1[maxn],y1[maxn],x2[maxn],y2[maxn]; 8 int mnx,mny,mxx,mxy; 9 int i,j,k,n,m; 10 11 int ra;char rx; 12 inline int read(){ 13 rx=getchar(),ra=0; 14 while(rx<‘0‘||rx>‘9‘)rx=getchar(); 15 while(rx>=‘0‘&&rx<=‘9‘)ra*=10,ra+=rx-48,rx=getchar();return ra; 16 } 17 18 int main(){ 19 for(int T=read();T;T--){ 20 n=read(),mnx=mny=inf,mxx=mxy=-inf; 21 for(i=1;i<=n;i++){ 22 x1[i]=read(),x2[i]=read(),y1[i]=read(),y2[i]=read(); 23 if(x1[i]<mnx)mnx=x1[i]; 24 if(x2[i]>mxx)mxx=x2[i]; 25 if(y1[i]<mny)mny=y1[i]; 26 if(y2[i]>mxy)mxy=y2[i]; 27 } 28 for(i=1;i<=n;i++)if(x1[i]==mnx&&x2[i]==mxx&&y1[i]==mny&&y2[i]==mxy)break; 29 puts(i<=n?"TAK":"NIE"); 30 } 31 return 0; 32 }
标签:
原文地址:http://www.cnblogs.com/czllgzmzl/p/5596386.html