(http://115.28.138.223/view.page?gpid=T15)
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
typedef struct node
{
int x1,y1,x2,y2;
}Node;
Node node[32]; //窗口结构体数组
int a[32]; //保存各个窗口的上下关系
int main()
{
//freopen("in.txt", "r", stdin);
int n,m,x,y;
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(a,0,sizeof(a));
memset(node,0,sizeof(node));
for(int i=1;i<=n;i++)
scanf("%d%d%d%d",&node[i].x1,&node[i].y1,&node[i].x2,&node[i].y2);
for(int i=1;i<=n;i++) a[i]=n-i+1;
for(int i=0;i<m;i++)
{
scanf("%d%d",&x,&y);
int flag=0;
for(int j=1;j<=n;j++)
{
int p=a[j];
if(x>=node[p].x1&&x<=node[p].x2&&y>=node[p].y1&&y<=node[p].y2)
{ //如果点击的位置落在该窗口,如选中3
//则5 4 3 2 1->5 4 2 1 3
printf("%d\n",p);
flag=1;
for(int k=j;k>=2;k--) a[k]=a[k-1];//调整各窗口相对上下位置
a[1]=p;
break;
}
}
if(!flag) puts("IGNORED");
}
}
return 0;
}