按照题意完成了功能,仅供参考
#include<iostream>
using namespace std;
struct window
{
int x1,x2,y1,y2;
};
int compareTop(int num[],int n,int flag[])
{
int max = 0;
int level = 0;
for(int t = 0;t<n;t++)
{
if((num[t] == 1) && flag[t]>level)
{
level = flag[t];
max = t;
}
}
return max;
};
int main()
{
int N,M;
cin>>N>>M;
if(1<=N<=10 && 1<=M<=10)
{
window a[N];
int flag[N];
for(int i = 0;i<N;i++)
{
window w;
cin>>w.x1>>w.y1>>w.x2>>w.y2;
a[i] = w;
flag[i] = i;
}
for(int j = 0;j<M;j++)
{
int x,y;
cin>>x>>y;
int num[N];
int biaozhi = 0;
for(int i=0;i<N;i++)
{
window ws = a[i];
if(ws.x1<=x&&x<=ws.x2 && ws.y1<=y&&y<=ws.y2)
num[i] = 1;
else
num[i] = 0;
}
int result = compareTop(num,N,flag);
if(num[result] == 1)
{
flag[result]= N-1;
std::cout<<++result<<endl;
}
else
std::cout<<"IFNORED"<<endl;
}
}
return 0;
}