理清逻辑关系,处理好序号和层级的关系即可
#include <bits/stdc++.h>
using namespace std;
struct windo{
int x1,y1,x2,y2;
int level;//窗口号
};
int main(){
int n,m;
cin>>n>>m;
windo windos[11];
windo t;
for(int i=n;i>=1;i--){//数组顺序代表层级----- exp:1代表第一层
windos[i].level=n-i+1;
cin>>windos[i].x1>>windos[i].y1>>windos[i].x2>>windos[i].y2;
}
while(m--){
int x,y;
cin>>x>>y;
int flg=0;
for(int i=1;i<=n;i++){
if(x>=windos[i].x1&&x<=windos[i].x2&&y>=windos[i].y1&&y<=windos[i].y2){
cout<<windos[i].level<<endl;
t=windos[i];
for(int j=i;j>=1;j--){
windos[j]=windos[j-1];
}
windos[1]=t;
flg=1;
break;
}
}
if(flg==0)cout<<"IGNORED"<<endl;
}
}