本人第二次写题解(蔡的不敢吱声)(此题看上去有些麻烦,其实不然) 只需将此点依次与每个地毯的范围进行比较,就得出答案啦

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;
}