#include #include #include using namespace std; int n,x,y;//n张地毯,x,y为所求坐标 struct node{ int a,b,g,k,num;//矩形的左下角坐标(a,b),长和宽(g,k),以及编号num }a[10005]; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ int a1,b1,g1,k1; scanf("%d%d%d%d",&a1,&b1,&g1,&k1); a[i].a=a1,a[i].b=b1,a[i].g=g1,a[i].k=k1,a[i].num=i;//读入地毯信息 } scanf("%d%d",&x,&y);//读入所求坐标 for(int i=n;i>=1;i--){//由于后铺的地毯覆盖在前面已经铺好的地毯之上,所以从后往前枚举 if(x>=a[i].a&&x<=a[i].a+a[i].g&&y>=a[i].b&&y<=a[i].b+a[i].k){//判断坐标是否在该地毯内 printf("%d",a[i].num); return 0;//输出后结束程序 } } printf("-1");//所有地毯都没有覆盖该坐标 return 0;

c++题目描述为了准备⼀个独特的颁奖典礼组织者在会场的⼀⽚矩形区域可看做是平⾯直⾓坐标系的第⼀象限铺上⼀些矩形地毯。⼀共有 n 张地毯编号从 1 到 n。现在将这些地毯按照编号从⼩到⼤的顺序平⾏于坐标轴先后铺设后铺的地毯覆盖在前⾯已经铺好的地毯之上。地毯铺设完成后组织者想知道覆盖地⾯某个点的最上⾯的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。输入输⼊共 n+2 ⾏。第⼀⾏⼀

原文地址: https://www.cveoy.top/t/topic/fyJu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录