题解 | #铺地毯#
铺地毯
https://ac.nowcoder.com/acm/problem/16593
题意 有n次操作,每次操作选择一个区域,铺上一个毯子,给一个点,求最上面一个毯子的编号
思路 从最后一个往前枚举,枚举到的一定是最后一个铺上的
#include<iostream> using namespace std; struct node { int x1,x2,y1,y2; }a[100010]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i].x1>>a[i].y1>>a[i].x2>>a[i].y2; int x,y; cin>>x>>y; for(int i=n;i>=1;i--) { if(a[i].x1<=x&&a[i].x1+a[i].x2>=x&&a[i].y1<=y&&a[i].y2+a[i].y1>=y) { cout<<i<<endl; return 0; } } cout<<-1<<endl; }