题意:
输入各地毯i的左下角坐标x,y与长宽a,b。
输入一个坐标,求该点最上面的地毯号。
题解:
简单模拟,但数据极大,所以要储存后倒序找该点处覆盖的最后一个地毯。
#include<iostream>
using namespace std;
const int N=10000;
int x[N],y[N],a[N],b[N];
int main()
{
int n,xx,yy,k=-1;
cin>>n;
for(int i=1;i<=n;i++)cin>>x[i]>>y[i]>>a[i]>>b[i];
cin>>xx>>yy;
for(int i=n;i>0;i--){
if(xx>=x[i]&&yy>=y[i]&&xx<=x[i]+a[i]&&yy<=y[i]+b[i])
{k=i;break;}
}
cout<<k<<endl;
}