[CCF] 201403-2 窗口
题面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019121618204973.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNTMxNDc5,size_16,color_FFFFFF,t_70)
思路:O(nm)模拟即可,我用vector存的
我的代码
#include <bits/stdc++.h>
using namespace std;
struct Node{
int x1,x2,y1,y2,id;
}node,v[20];
bool in(int x,int y,Node node)
{
return x>=node.x1&&x<=node.x2&&y<=node.y2&&y>=node.y1;
}
int main()
{
int x,y,m,n;
cin>>n>>m;
for(int i=n;i>=1;--i)
scanf("%d%d%d%d",&node.x1,&node.y1,&node.x2,&node.y2),node.id=n-i+1,v[i]=node;
while(m--)
{
scanf("%d%d",&x,&y);
bool have = false;
for(int i=1;i<=n;++i)
{
if(in(x,y,v[i]))
{
cout<<v[i].id<<endl;
have = true;
node = v[i];
for(int j=i;j>1;--j)
v[j] = v[j-1];
v[1] = node;
break;
}
}
if(!have) puts("IGNORED");
}
return 0;
}