[CCF] 201403-2 窗口
题面:
思路: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;
}