CCF_ 201403-2_窗口
用deque模拟。
#include<iostream> #include<cstdio> #include<deque> using namespace std; struct point{ int x1,x2,y1,y2,num; }temp; int main() { deque<point> q; deque<point>::iterator it; int n,m; cin >> n >> m; for(int i = 1;i <= n;i++) { temp.num = i; cin >> temp.x1 >> temp.y1 >> temp.x2 >> temp.y2; q.push_front(temp); } while(m--) { int x,y,flag = 1; cin >> x >> y; for(it = q.begin();it != q.end();it++) { if(it->x1 <= x && it->x2 >= x && it->y1 <= y && it->y2 >= y) { cout << it->num << endl; temp = *it; q.erase(it); q.push_front(temp); flag = 0; break; } } if(flag) { cout << "IGNORED" << endl; } } return 0; }