题目链接
思路:
要想在地毯里,地面的点坐标必须满足大于等于左下角的坐标
和小于等于右上角的坐标。
#include<iostream>
using namespace std;
int x,y;
int ans=-2; //我写的时候不等于-2,也可以。估计是测的数据比较菜,估计是少了一种情况
int a[10001],b[10001],c[10001],d[10001];
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i]>>b[i]>>c[i]>>d[i];
cin>>x>>y;
for(int i=0;i<n;i++)
if(x>=a[i]&&y>=b[i]&&x<=a[i]+c[i]&&y<=b[i]+d[i]) //检查是否满足条件
ans=i; //更新最上面的地毯
cout<<ans+1; //序号对不上,加1就对上了
return 0;
}
如有错误,请提醒。