Description
在测试超大规模集成电路时,对给定的一个设计,专家要检测元件是否相互遮盖。一个元件可视为一个矩形,假设每个矩形都是水平排列的(边与x轴或y轴平行),所以长方形由最小的和最大的x,y坐标表示。
编程计算完全被覆盖的矩形个数。
Input
输入有多组长方形实例。对每组长方形,第一个数字是长方形的数量,然后是长方形的最小和最大x,y坐标(最小x,最大x,最小y,最大y)。
Output
对每组输入数据,输出一行,是被完全覆盖的长方形数量。
Sample Input
3
100 101 100 101
0 3 0 101
20 40 10 400
4
10 20 10 20
10 20 10 20
10 20 10 20
10 20 10 20
Sample Output
0
4
#include
#include <bits/stdc++.h>
using namespace std;
struct juxing
{
int x1,x2,y1,y2;
};
int main()
{
int n;
while (scanf("%d",&n)!=EOF)
{
int counter=0;
juxing p[1000];
for (int i=1; i<=n; i++)
{
scanf("%d%d%d%d",&p[i].x1,&p[i].x2,&p[i].y1,&p[i].y2);
}
for (int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
{
if(i!=j&&p[i].x1>=p[j].x1&&p[i].x2<=p[j].x2&&p[i].y1>=p[j].y1&&p[i].y2<=p[j].y2)
{
counter++;
break;
}
}
}
printf("%d\n",counter);
}
return 0;
}