CCF CSP 201403-2窗口
思路:简单模拟窗口变化
代码如下:
#include<iostream>
using namespace std;
struct Window{
int x1,y1,x2,y2;
int number;
}window[15];
int main(){
int n,m;
cin>>n>>m;
for(int i = 1; i <= n; i++){
cin>>window[i].x1>>window[i].y1>>window[i].x2>>window[i].y2;
window[i].number = i;
}
for(int i = 1; i <= m; i++){
bool flag= false;//标志是否找得到
int x,y;
cin>>x>>y;
for(int j = n; j >= 1; j--){
if(window[j].x1 <= x && window[j].x2 >= x && window[j].y1 <= y && window[j].y2 >= y){
flag = true;
cout<<window[j].number<<endl;
//把当前窗口置顶
Window w = window[j];
for(int k = j; k < n; k++){
window[k] = window[k+1];
}
window[n] = w;
break;
}
}
if(!flag){
cout<<"IGNORED"<<endl;
}
}
return 0;
}