题意 有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;
}
京公网安备 11010502036488号