本人第二次写题解(蔡的不敢吱声)(此题看上去有些麻烦,其实不然) 只需将此点依次与每个地毯的范围进行比较,就得出答案啦
using namespace std;
const int N=10010;
int n,a[N],b[N],g[N],k[N];
int x,y;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i]>>b[i]>>g[i]>>k[i];
}
cin>>x>>y;
int ans=0,flag=0;
for(int i=1;i<=n;i++)
{
if(x>=a[i]&&y>=b[i]&&x<=a[i]+g[i]&&y<=b[i]+k[i])//若该点再此地毯范围内,则ans赋值此地毯编号)
{
ans=i;flag=1;
}
}
if(flag==1)
{
cout<<ans;
}
else cout<<-1;//该点未出现再任何一个地毯上)
return 0;
}